*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;

}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;

}
  /********************* CSS RESET  **************************************/
  /* https://piccalil.li/blog/a-modern-css-reset/ */

  /* Box sizing rules */
  *, *::before, *::after {
    box-sizing: border-box;
  }

  * {
    margin: 0;
    padding: 0;
  }

  /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
  ul[role="list"], ol[role="list"], ul, ol {
    list-style: none;
  }

  /* Set core root defaults */
  html:focus-within {
    scroll-behavior: smooth;
  }

  html, body {
    height: 100%;
  }

  /* Set core body defaults */
  body {
    text-rendering: optimizeSpeed;
    line-height: 1.5;
  }

  /* A elements that don't have a class get default styles */
  a:not([class]) {
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
  }

  /* Make images easier to work with */
  img, picture, svg {
    max-width: 100%;
    display: block;
  }

  /* Inherit fonts for inputs and buttons */
  input, button, textarea, select {
    font: inherit;
  }

  /* remove animations for people who've turned them off */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }

  /* RESET Added by TBones*/

  body a:where(:not(.wp-element-button)), a {
    text-decoration: none;
  }
  body{
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 244 / var(--tw-bg-opacity, 1));

}
  p{
  font-size: 1rem;

}
  @media (min-width: 768px){
  p{
    font-size: 1.25rem;

  }

}
.visible{
  visibility: visible;

}
.static{
  position: static;

}
.fixed{
  position: fixed;

}
.absolute{
  position: absolute;

}
.relative{
  position: relative;

}
.sticky{
  position: sticky;

}
.bottom-0{
  bottom: 0px;

}
.left-10{
  left: 2.5rem;

}
.right-10{
  right: 2.5rem;

}
.top-0{
  top: 0px;

}
.block{
  display: block;

}
.flex{
  display: flex;

}
.table{
  display: table;

}
.hidden{
  display: none;

}
.size-full{
  width: 100%;
  height: 100%;

}
.h-10{
  height: 2.5rem;

}
.min-h-fit{
  min-height: -moz-fit-content;
  min-height: fit-content;

}
.w-1\/3{
  width: 33.333333%;

}
.w-10{
  width: 2.5rem;

}
.w-full{
  width: 100%;

}
.flex-row{
  flex-direction: row;

}
.flex-col{
  flex-direction: column;

}
.space-x-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1.25rem * var(--tw-space-x-reverse));
  margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));

}
.overflow-hidden{
  overflow: hidden;

}
.border{
  border-width: 1px;

}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));

}
.p-10{
  padding: 2.5rem;

}
.p-5{
  padding: 1.25rem;

}
.px-0{
  padding-left: 0px;
  padding-right: 0px;

}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;

}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;

}
.pt-12{
  padding-top: 3rem;

}
.pt-4{
  padding-top: 1rem;

}
.align-middle{
  vertical-align: middle;

}
.font-bold{
  font-weight: 700;

}
.uppercase{
  text-transform: uppercase;

}
.text-clr-primary{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);

}
.shadow-sh-01{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);

}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);

}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;

}
/*Import variables*/
/* ------------------- */
/* All variables   */
/* ------------------- */
/*
  TODO Next things to implement in theme
 - Fluid typography (https://www.smashingmagazine.com/2022/01/modern-fluid-typography-css-clamp/)
 - Keep theme.json values mobile first as tailwind is mobile first

*/
/*************** BreakPoints - tailwind.config.json ***************

    xs: "480px",
    sm: "640px",
    md: "768px",
    lg: "1024px",
    xl: "1280px",
    2xl: "1536px",

  - Tailwind (CSS) usage
  ----------------------------------------
  theme(screens.xs)

  */
/*************** Font Sizes ******************************

- Slugs
----------------------------------------
fs-xs - 12px / 0.75rem
fs-sm - 14px / 0.875rem
fs-custom - 15px / 0.938rem
fs-base - 16px / 1rem
fs-lg - 18px / 1.125rem
fs-xl - 20px / 1.25rem
fs-2-xl - 24px / 1.5rem
fs-3-xl - 30px / 1.875rem
fs-4-xl - 36px / 2.25rem
fs-max-36 - 36px
fs-max-48 - 48px
fs-max-60 - 60px
fs-max-72 - 72px

- Tailwind usage
----------------------------------------
text-fs-xs

- WP usage
----------------------------------------
--wp--preset--font-size--fs-xs
--wp--preset--font-size--fs-custom
--wp--preset--font-size--fs-sm
--wp--preset--font-size--fs-base
--wp--preset--font-size--fs-lg
--wp--preset--font-size--fs-xl
--wp--preset--font-size--fs-2-xl
--wp--preset--font-size--fs-3-xl
--wp--preset--font-size--fs-4-xl
--wp--preset--font-size--fs-max-36
--wp--preset--font-size--fs-max-48
--wp--preset--font-size--fs-max-60
--wp--preset--font-size--fs-max-72

*/
/*************** Colors ******************************

- Slugs
----------------------------------------
clr-base - #F4F4F4 // Rutgers Light Grey
clr-primary - #CC0033 // Rutgers Red
clr-secondary - #5F6A72 // Rutgers Dark grey
clr-white - #fff
clr-black - #000

- Tailwind usage
----------------------------------------
text-clr-base
bg-clr-base
border-clr-base

- WP variables
----------------------------------------
--wp--preset--color--clr-base
--wp--preset--color--clr-primary
--wp--preset--color--clr-secondary
--wp--preset--color--clr-white
--wp--preset--color--clr-black

*/
/*************** Font Families ******************************
/*
- WP based names
----------------------------------------

--ff-sans: var(--wp--preset--font-family--ff-source-sans);

*/
/*************** Font Weights ******************************

 - Slugs
 ----------------------------------------
 fw-thin: 100;
 fw-extra-light: 200;
 fw-light: 300;
 fw-regular: 400;
 fw-medium: 500;
 fw-semi-bold: 600;
 fw-bold: 700;
 fw-extra-bold: 800;
 fw-black: 900;

 - Tailwind usage
 ----------------------------------------
 font-fw-thin

 - WP usage
 ----------------------------------------
--wp--custom--typography--font-weight--fw-thin
--wp--custom--typography--font-weight--fw-extra-light
--wp--custom--typography--font-weight--fw-light
--wp--custom--typography--font-weight--fw-regular
--wp--custom--typography--font-weight--fw-medium
--wp--custom--typography--font-weight--fw-semi-bold
--wp--custom--typography--font-weight--fw-bold
--wp--custom--typography--font-weight--fw-extra-bold
--wp--custom--typography--font-weight--fw-black


*/
/*************** Line Heights ******************************

- Slugs
----------------------------------------

lh-none	    //  1;
lh-tight	//  1.25;
lh-snug	    //  1.375;
lh-normal	//  1.5;
lh-relaxed	//  1.625;
lh-loose	//  2;

- WP usage
----------------------------------------
--wp--custom--typography--line-height--lh-none: 1;
--wp--custom--typography--line-height--lh-tight: 1.25;
--wp--custom--typography--line-height--lh-snug: 1.375;
--wp--custom--typography--line-height--lh-normal: 1.5;
--wp--custom--typography--line-height--lh-relaxed: 1.625;
--wp--custom--typography--line-height--lh-loose: 2;

*/
/*************** Spacing ******************************

 - Slugs
 ----------------------------------------
sp-0  // 0 - 0;
sp-xs  // 0.5rem - 8px;
sp-sm  // 1rem - 16px;
sp-base  // 1.5rem - 24px;
sp-lg: // 2rem - 32px;
sp-xl: // 2.5rem - 40px;
sp-inner: // 2rem - 40px;


- tailwind classes
----------------------------------------
p-sp-0
p-sp-xs


- WP usage
----------------------------------------
--wp--preset--spacing--sp-0  // 0 - 0;
--wp--preset--spacing--sp-xs  // 0.5rem - 8px;
--wp--preset--spacing--sp-sm  // 1rem - 16px;
--wp--preset--spacing--sp-base  // 1.5rem - 24px;
--wp--preset--spacing--sp-lg: // 2rem - 32px;
--wp--preset--spacing--sp-xl: // 2.5rem - 40px;


*/
/*************** layout Sizes ******************************

- WP based names
----------------------------------------
 --wp--style--global--content-size         // 1200px;
 --wp--style--global--wide-size             // 1280px;

*/
/*************** Block Gap ******************************

- WP based names
----------------------------------------
 --wp--style--block-gap

*/
:root {

  --ff-sans: var(--wp--preset--font-family--ff-source-sans);

}
/* Resets */
/* CSS Reset */
/* Spacings */
/* Vertical Spacings */
:root body .wp-site-blocks > * + *, :root body .is-layout-constrained > * + * {
      margin-block-start: var(--wp--preset--spacing--sp-base);
    }
:root body header + .wp-block-post-content {
      margin: 0;
    }
:root body .wp-site-blocks h1 + *, :root body .wp-site-blocks h2 + *, :root body .wp-site-blocks h3 + *, :root body .wp-site-blocks h4.h5 + *, :root body .wp-site-blocks h6 + * {
          margin-block-start: var(--wp--preset--spacing--sp-sm);
        }
@media screen and (min-width: 768px) {
      :root body .wp-site-blocks > * + *, :root body .is-layout-constrained > * + * {
        margin-block-start: var(--wp--preset--spacing--sp-xl);
      }
          :root body .wp-site-blocks h1 + *, :root body .wp-site-blocks h2 + *, :root body .wp-site-blocks h3 + *, :root body .wp-site-blocks h4.h5 + *, :root body .wp-site-blocks h6 + * {
            margin-block-start: var(--wp--preset--spacing--sp-base);
          }
    }
/*Exceptions*/
.ta-video-container {
  gap: var(--wp--preset--spacing--sp-sm) !important;
}
.ta-video-container h3 + * {
    margin-block-start: var(--wp--preset--spacing--sp-xs);
  }
/*Import Block/Templates/Patterns Styles*/
body h1, body h2, body.editor-styles-wrapper h1{
  font-size: 1.5rem;

}
@media (min-width: 768px){
  body h1, body h2, body.editor-styles-wrapper h1{
    font-size: 36px;

  }

}
body h3{
  font-size: 1rem;
  line-height: 1.25;

}
@media (min-width: 768px){
  body h3{
    font-size: 1.25rem;

  }

}
body h2.ta-secondary-heading{
  --tw-text-opacity: 1;
  color: rgb(95 106 114 / var(--tw-text-opacity, 1));

}
.sidebar h3{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
@media (min-width: 1024px){
  .sidebar h3{
    font-size: 1.5rem;

  }

}
.sidebar .ta-sidebar-search h3{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));

}
@media (min-width: 1024px){
  .sidebar .ta-sidebar-search h3{
    font-size: 1.25rem;

  }

}
/* Bulletted list */
.ta-bulleted-list{
  margin-left: 0.125rem;

}
.ta-bulleted-list li {
    display: flex;
  }
.ta-bulleted-list li:before {
      content: url("/wp-content/uploads/2022/12/right-caret.svg");
      margin-right: 10px;
    }
/* Quick Links */
div div.wp-block-group.ta-quick-links{
  margin-top: 1.25rem;
  margin-bottom: 0.75rem;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;

}
div div.wp-block-group.ta-quick-links > p{
  padding-bottom: 0.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;

}
div div.wp-block-group.ta-quick-links .wp-block-navigation__container{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;

}
div div.wp-block-group.ta-quick-links .wp-block-navigation__container .wp-block-navigation-item__content{
  border-width: 0px;
  border-bottom-width: 2px;
  border-style: solid;
  border-color: transparent;
  padding-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
      font-size: clamp(0.86rem, 1.3vw, 1rem);

}
div div.wp-block-group.ta-quick-links .wp-block-navigation__container .wp-block-navigation-item__content:hover{
  border-width: 0px;
  border-bottom-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(204 0 51 / var(--tw-border-opacity, 1));

}
@media screen and (min-width: 1024px) and (max-width: 1100px) {
  div div.ta-quick-links{
    flex-direction: column;
    align-items: flex-start;
    gap: var(--wp--preset--spacing--sp-00);

  }
}
.ta-qucklinks-2{
  margin-top: 1rem !important;

}
@media (min-width: 1024px){
  .ta-qucklinks-2{
    display: none;

  }

}
.ta-qucklinks-2 .wp-block-navigation__container{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;

}
.ta-qucklinks-2 .wp-block-navigation-item{
  margin-right: 0.25rem;
  margin-top: 0.75rem;

}
@media (min-width: 640px){
  .ta-qucklinks-2 .wp-block-navigation-item{
    margin-right: 0.5rem;

  }

}
/* for tags & categories, and quick links */
.ta-tags, .ta-qucklinks-2 .wp-block-navigation-item, .ta-category-listing .ta-tags, .ta-category-listing [rel="tag"], .ta-category-listing a{
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(204 0 51 / var(--tw-bg-opacity, 1));
  padding: 0.5rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
@media (min-width: 640px){
  .ta-tags, .ta-qucklinks-2 .wp-block-navigation-item, .ta-category-listing .ta-tags, .ta-category-listing [rel="tag"], .ta-category-listing a{
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 0.875rem;
    line-height: 1.25rem;

  }

}
.ta-tags a, .ta-qucklinks-2 .wp-block-navigation-item a, .ta-category-listing .ta-tags a, .ta-category-listing [rel="tag"] a, .ta-category-listing a a{
  text-decoration-line: none;

}
@media screen and (min-width: 1024px) {
.ta-tags, .ta-qucklinks-2 .wp-block-navigation-item, .ta-category-listing .ta-tags, .ta-category-listing [rel="tag"], .ta-category-listing a{
    background-color: transparent;
    padding: 0.25rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(204 0 51 / var(--tw-text-opacity, 1));

  }
  }
/* Hamburger Menu */
.hamburger {
  cursor: pointer;
  width: 24px;
  height: 24px;
  transition: all 0.25s;
  position: relative;
}
.hamburger-top, .hamburger-middle, .hamburger-bottom {
  position: absolute;
  width: 24px;
  height: 2px;
  top: 0;
  left: 0;
  transform: rotate(0);
  transition: all 0.5s;
  --tw-bg-opacity: 1;
  background-color: rgb(204 0 51 / var(--tw-bg-opacity, 1));
}
.hamburger-middle {
  transform: translateY(7px);
}
.hamburger-bottom {
  transform: translateY(14px);
}
.open {
  transform: rotate(90deg);
}
.open .hamburger-top {
  transform: rotate(45deg) translateY(6px) translateX(6px);
}
.open .hamburger-middle {
  display: none;
}
.open .hamburger-bottom {
  transform: rotate(-45deg) translateY(6px) translateX(-6px);
}
.dropdown:hover .dropdown-menu {
  display: block;
}
.dropdown:hover > a{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.active-nav-item-parent > a{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.wp-block-navigation__submenu-container
  .wp-block-navigation-item.current-menu-item{
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 244 / var(--tw-bg-opacity, 1));

}
.wp-block-navigation__container > .current-menu-item > a{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.dropdown-menu{
  z-index: 50;

}
.dropdown-menu > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));

}
.dropdown-menu{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 0.75rem;

}
.dropdown-menu li{
  padding: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;

}
.dropdown-menu li:hover{
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 244 / var(--tw-bg-opacity, 1));

}
.dropdown-menu p{
  font-size: 0.875rem;

}
#site-menu-wrapper .dropdown-menu a{
  text-decoration-line: none;

}
#site-menu-wrapper .dropdown-menu a:hover{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));

}
#site-menu-wrapper .ta-desktop-nav{
  display: none;
  flex-direction: row;
  justify-content: flex-end;

}
@media (min-width: 1024px){
  #site-menu-wrapper .ta-desktop-nav{
    display: flex;

  }
  #site-menu-wrapper .ta-desktop-nav > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));

  }
  #site-menu-wrapper .ta-desktop-nav{
    font-size: 1.125rem;
    line-height: 1.75rem;

  }

}
@media (min-width: 1280px){
  #site-menu-wrapper .ta-desktop-nav > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2rem * var(--tw-space-x-reverse));
    margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));

  }
  #site-menu-wrapper .ta-desktop-nav{
    font-size: 1.125rem;
    line-height: 1.75rem;

  }

}
#site-menu-wrapper > ul > li > a{
  text-decoration-line: none;

}
@media (min-width: 1024px){
  #site-menu-wrapper > ul > li > a{
    font-size: 1rem;

  }

}
@media screen and (min-width: 1024px) {
#site-menu-wrapper > ul > li > a {
      font-size: clamp(0.9rem, 1.5vw, 1.25rem)
  }
    }
/* Main Navigation Style using Core block */
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container{
  flex-direction: row;
  justify-content: flex-end;
  gap: 0px;

}
@media (min-width: 1024px){
  .ta-desktop-nav.wp-block-navigation .wp-block-navigation__container{
    display: flex;

  }
  .ta-desktop-nav.wp-block-navigation .wp-block-navigation__container > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));

  }
  .ta-desktop-nav.wp-block-navigation .wp-block-navigation__container{
    font-size: 1.125rem;
    line-height: 1.75rem;

  }

}
@media (min-width: 1280px){
  .ta-desktop-nav.wp-block-navigation .wp-block-navigation__container > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(2rem * var(--tw-space-x-reverse));
    margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));

  }
  .ta-desktop-nav.wp-block-navigation .wp-block-navigation__container{
    font-size: 1.125rem;
    line-height: 1.75rem;

  }

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .active-nav-item-parent, .ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .active-nav-item-top-lvl{
  --tw-bg-opacity: 1 !important;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .active-nav-item{
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 244 / var(--tw-bg-opacity, 1));

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .active-nav-item .wp-block-navigation-item__description{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .active-nav-item.active-nav-item-top-lvl{
  border-radius: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item{
  position: relative;
  display: inline-block;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item a{
  font-weight: 700;
  text-decoration-line: none;

}
@media (min-width: 1024px){
  .ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item a{
    font-size: 1rem;

  }

}
@media screen and (min-width: 1024px) {
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item a {
          font-size: clamp(0.74rem, 1vw, 15px)
      }
        }
@media screen and (min-width: 1280px){
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item a {
          font-size: clamp(0.86rem, 1.1vw, 15px)
      }
        }
@media screen and (min-width: 1400px) {
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item a {
          font-size: clamp(0.86rem, 1.2vw, 1.25rem)
      }
        }
/* submenu container */
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container{
  z-index: 50;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container{
  border-style: none;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 0.75rem;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container li {
        }
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container p{
  font-size: 0.875rem;

}
/* submenu single item */
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item{
  padding: 0.75rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item:hover{
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(244 244 244 / var(--tw-bg-opacity, 1));

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item:hover .wp-block-navigation-item__description{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content{
  display: block;
  font-size: 0.875rem;
  line-height: 1.25rem;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__label{
  display: block;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__container .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__description{
  display: block;
  font-weight: 400;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__responsive-container-close svg, .ta-desktop-nav.wp-block-navigation .wp-block-navigation__responsive-container-open svg{
  fill: #CC0033;

}
/* Making about nav's submenu right aligned */
@media screen and (min-width: 1024px) {
.ta-desktop-nav.wp-block-navigation .ta-about-nav .wp-block-navigation__submenu-container {
        right: -10vw;
        left: unset
    }
      }
/* Fixing Responsiveness for the Main Menu */
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__responsive-container-open{
  display: flex;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__responsive-container-close{
  top: 1.5rem;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__responsive-container{
  display: none;

}
.ta-desktop-nav.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open{
  display: flex;

}
@media screen and (min-width: 1024px) {
    .ta-desktop-nav.wp-block-navigation .wp-block-navigation__responsive-container-open{
    display: none;

  }
    .ta-desktop-nav.wp-block-navigation .wp-block-navigation__responsive-container{
    display: block;

  }
  }
@media (min-width: 1024px){
  .ta-mobile-search{
    display: none;

  }

}
.wp-block-search .wp-block-search__button{
  margin-left: 0px;
  box-sizing: border-box;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(95 106 114 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(95 106 114 / var(--tw-bg-opacity, 1));

}
@media screen and (min-width: 768px) and (max-width: 1024px) {
.wp-block-search .wp-block-search__button{
    padding-left: 0.5rem;
    padding-right: 0.5rem;

  }
    }
.wp-block-search .wp-block-search__inside-wrapper{
  border-radius: 10px;
  border-style: none;

}
.wp-block-search .wp-block-search__input{
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border-width: 1px;
  border-right-width: 0px;
  border-style: solid;
  --tw-border-opacity: 1;
  border-color: rgb(95 106 114 / var(--tw-border-opacity, 1));
  padding: 1rem;

}
/* Import tempates, parts, patterns related styles */
/* Search results archive / Blog page styling */
/* search.html & archive.html */
.ta-page-title{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.ta-query-loop-wrapper .wp-block-post{
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 2rem;

}
.ta-query-loop-wrapper .wp-block-post:hover{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);

}
.ta-query-loop-wrapper .wp-block-post-title, .ta-query-loop-wrapper .wp-block-post-title a{
  margin-top: 1.25rem;
  font-size: 1.875rem;
  --tw-text-opacity: 1;
  color: rgb(95 106 114 / var(--tw-text-opacity, 1));
  text-decoration-line: none;

}
.ta-query-loop-wrapper .wp-block-post-author__content{
  display: flex;

}
.ta-query-loop-wrapper .wp-block-post-author__content .wp-block-post-author__byline{
  width: auto;
  white-space: nowrap;
  padding-right: 0.25rem;
  font-size: 1.25rem;

}
.ta-query-loop-wrapper .wp-post-image{
  border-radius: 10px;

}
/* Single blog page -  single.html */
.ta-single-post-content-wrapper .wp-block-post-title{
  margin-top: 1.25rem;

}
.ta-single-post-content-wrapper .wp-post-image{
  border-radius: 10px;

}
.ta-single-post-content-wrapper .wp-block-post-author__content{
  display: flex;

}
.ta-single-post-content-wrapper .wp-block-post-author__content .wp-block-post-author__byline{
  width: auto;
  font-size: 1.25rem;

}
.sidebar > .wp-block-group{
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;

}
/* BASIC STYLING */
.wp-block-post-content a, .wp-site-blocks a{
  text-decoration-line: underline;

}
.wp-block-post-content a:hover, .wp-site-blocks a:hover{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.wp-block-post-content .ta-qucklinks-2 a:hover{
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;

}
.wp-block-post-content .wp-element-button, .wp-block-post-content .wp-block-button__link{
  text-decoration-line: none;

}
.wp-block-post-content .wp-element-button:hover, .wp-block-post-content .wp-block-button__link:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
.ta-quick-links .wp-block-group.is-layout-flex > p{
  padding-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;

}
/* menu style */
@media screen and (min-width: 1024px) {
        #site-menu-wrapper > ul > li > a {
          font-size: clamp(0.86rem, 1.3vw, 15px);
        }
}
/* menu style */
/* Sidebar Widgets */
.ta-sidebar-widget{
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.75rem;

}
/* Custom Classes/Styling */
.ta-teamblock-name {
  font-size: 1.15rem !important;
  margin-bottom: 5px;
  font-weight: 700;
}
.ta-teamblock-details {
  text-transform: uppercase;
  margin-bottom: 5px;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.ta-team-container h3 {
  /* font-size: 19px; */
}
.ta-team-container .ta-section-wrapper p {
  font-size: 13px;
  line-height: 1.35;
}
.ta-rounded-border {
  border-radius: 10px;
}
.ta-rounded-border-div {
  border-radius: 0 0 10px 10px;
}
.sfas-carousel .swiper-button-prev {
  background-image: url(/wp-content/uploads/2022/12/caroussel-arrow-left.svg);
}
.sfas-carousel .swiper-button-next {
  background-image: url(/wp-content/uploads/2022/12/caroussel-arrow-right.svg);
}
.sfas-carousel .swiper-button-prev, .sfas-carousel .swiper-button-next {
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  height: 2.5rem;
  width: 2.5rem;
  top: 40%;
}
.sfas-carousel .swiper-button-next:after, .sfas-carousel .swiper-button-prev:after {
  display: none;
}
@media screen and (min-width: 976px) and (max-width: 1135px) {
  #top-header .ta-header-logo-container {
    max-width: 22%;
  }
  #top-header .ta-header-logo {
    width: 70%;
  }
}
#ta-sidebar input {
    font-size: 1rem;
  }
#ta-sidebar .ta-tags {
    border-radius: 8px;
  }
.ta-image-text-block-wrapper h2{
  margin-bottom: 0.75rem;

}
.ta-item-spacings p, .ta-image-text-block-wrapper p{
  margin-bottom: 0.75rem;

}
.ta-image-text-block-wrapper p{
  font-size: 1.125rem;
  line-height: 1.75rem;

}
.ta-sidebar-search{
  display: none;

}
@media (min-width: 1024px){
  .ta-sidebar-search{
    display: block;

  }

}
.ta-mobile-search{
  display: block;

}
@media (min-width: 1024px){
  .ta-mobile-search{
    display: none;

  }

}
/* Staff page */
.ta-team-member-wrapper{
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));

}
.ta-team-member-wrapper img {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
  }
.ta-team-member-wrapper .ta-team-member-wrapper-inner{
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: flex-start;
  align-self: flex-start;

}
@media not all and (min-width: 640px){
  .ta-team-member-wrapper .ta-team-member-wrapper-inner{
    padding-left: 1.75rem;
    padding-right: 1.75rem;
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;

  }

}
@media (min-width: 640px){
  .ta-team-member-wrapper .ta-team-member-wrapper-inner{
    flex-direction: row;
    align-items: flex-start;

  }

}
.ta-team-member-wrapper .ta-team-member-avatar{
  width: 100%;

}
@media not all and (min-width: 1024px){
  .ta-team-member-wrapper .ta-team-member-avatar{
    max-width: none;

  }

}
@media not all and (min-width: 768px){
  .ta-team-member-wrapper .ta-team-member-avatar{
    width: 11rem;

  }

}
@media not all and (min-width: 640px){
  .ta-team-member-wrapper .ta-team-member-avatar{
    width: 10rem;

  }

}
@media (min-width: 768px){
  .ta-team-member-wrapper .ta-team-member-avatar{
    width: 13rem;

  }

}
/* Lottie Container */
.wp-site-blocks .ta-lottie-container{
  margin-top: 0px;
  margin-block-start: var(--wp--preset--spacing--sp-0) !important;

}
/* Headers */
.ta-header-1{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding-top: 1rem;
  padding-bottom: 1rem;

}
@media (min-width: 1024px){
  .ta-header-1{
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);;
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);

  }

}
.ta-header-1 .wp-block-site-logo .custom-logo{
  max-height: 85px !important;
  width: 10rem;

}
@media (min-width: 1024px){
  .ta-header-1 .wp-block-site-logo .custom-logo{
    width: 13rem;

  }

}
body .wp-site-blocks .ta-header-2-wrapper, body .wp-site-blocks .ta-header-1 {
  margin-block-start: 0;
}
body .wp-block-group.ta-header-2{
  display: none;

}
@media (min-width: 1024px){
  body .wp-block-group.ta-header-2{
    display: flex;

  }

}
.ta-header-2, .ta-header-2-wrapper{
  display: none;

}
@media (min-width: 1024px){
  .ta-header-2, .ta-header-2-wrapper{
    display: block;

  }

}
/* Featured Items */
body .ta-featured-items.wp-block-group > * + * {
    margin-block-start: 0;
  }
body .ta-featured-items.wp-block-group .is-layout-flow > * + * {
    margin-block-start: 0;
  }
body .ta-featured-items.wp-block-group .wp-block-columns {
    gap: 0;
  }
body .ta-featured-items.wp-block-group h4{
  margin-top: 0px;
  background-image: url("../images/bullet-icon.svg");
  background-position: left top 0.25rem;
  background-repeat: no-repeat;
  padding-left: 1.25rem;
  text-align: left;
  line-height: 1.5rem;

}
body .ta-featured-items.wp-block-group .ta-flex-fix-featured {
    flex-grow: 1;
  }
@media screen and (min-width: 768px) and (max-width: 1024px) {
body .ta-featured-items.wp-block-group .ta-flex-fix-featured {
      flex-wrap: wrap !important
  }
      body .ta-featured-items.wp-block-group .ta-flex-fix-featured .wp-block-column {
        flex: 50%;
      }
    }
body .ta-featured-items.wp-block-group figure.wp-block-image{
  display: none;

}
@media screen and (min-width: 1024px) {
    body .ta-featured-items.wp-block-group > * + * {
      margin-block-start: var(--wp--preset--spacing--sp-xl);
    }
    body .ta-featured-items.wp-block-group .is-layout-flow > * + * {
      margin-block-start: var(--wp--preset--spacing--sp-base);
    }
    body .ta-featured-items.wp-block-group .wp-block-columns {
      gap: var(--wp--preset--spacing--sp-base);
    }
    body .ta-featured-items.wp-block-group figure.wp-block-image{
    display: table;

  }
    body .ta-featured-items.wp-block-group h4{
    margin-top: 1.25rem;
    background-image: none;
    padding-left: 0px;
    text-align: center;
    font-size: 1.125rem;

  }
  }
/* ==========================To be removed================================= */
/* Student Success Stories / Sidebar Blog Widget  */
/* for backward compatibility */
.ta-sidebar-blog-widget{
  display: flex;
  flex-direction: column;

}
.ta-sidebar-blog-widget > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget, .ta-sidebar-blog-widget .ta-sidebar-blog-widget{
  display: flex;
  flex-direction: column;

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget > :not([hidden]) ~ :not([hidden]), .ta-sidebar-blog-widget .ta-sidebar-blog-widget > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item{
  display: flex;
  flex-direction: column;

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item > :not([hidden]) ~ :not([hidden]), .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item{
  border-width: 0px;
  border-bottom-width: 1px;
  border-style: solid;
  border-color: rgb(95 106 114 / var(--tw-border-opacity, 1));
  --tw-border-opacity: 0.3;
  padding-bottom: 1.5rem;

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item:last-child, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item:last-child{
  border-width: 0px;
  padding-bottom: 0px;

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item a, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item a{
  text-decoration-line: none;

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item .ta-post-title, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item .ta-post-title{
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;

}
@media screen and (min-width: 1200px) {
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item .ta-post-title, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item .ta-post-title {
        color: green !important
    }
      }
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item .ta-author, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item .ta-author{
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item .ta-post-date, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item .ta-post-date{
  font-size: 0.875rem;
  line-height: 1.25rem;

}
.wp-block-tbones-p-post-list .ta-sidebar-blog-widget__blog-item .ta-name-initials a, .ta-sidebar-blog-widget .ta-sidebar-blog-widget__blog-item .ta-name-initials a{
  display: flex;
  height: 3rem;
  width: 3rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  --tw-bg-opacity: 1;
  background-color: rgb(95 106 114 / var(--tw-bg-opacity, 1));
  text-transform: uppercase;
  line-height: 1rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
.ta-category-listing{
  margin-bottom: 0px;
  display: block;
  gap: 0.25rem;

}
.ta-category-listing .ta-tags, .ta-category-listing [rel="tag"], .ta-category-listing a{
  margin-bottom: 0.25rem;
  margin-right: 0.25rem;
  display: inline-block;

}
@media screen and (min-width: 976px) {
.ta-category-listing .ta-tags, .ta-category-listing [rel="tag"], .ta-category-listing a{
    --tw-bg-opacity: 1;
    background-color: rgb(204 0 51 / var(--tw-bg-opacity, 1));
    font-size: 0.75rem;
    line-height: 1rem;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    text-decoration-line: none;

  }
    }
.ta-category-listing .ta-tags:hover, .ta-category-listing [rel="tag"]:hover, .ta-category-listing a:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
.ta-category-listing .wp-block-post-terms__separator{
  display: none;

}
/* ==========================To be removed ends================================= */
/* Video Popup */
.wpzoom-video-popup-block_icon path{
  fill: #fff;

}
/* Footer Styling */
.ta-footer-container.is-layout-constrained{
  margin-top: 2.5rem;
  padding: 1.5rem;

}
.ta-footer-container.is-layout-constrained a{
  text-decoration-line: none;

}
.ta-footer-container.is-layout-constrained a:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
.ta-footer-container.is-layout-constrained > .wp-block-group:first-child{
  margin-top: 2rem;

}
.ta-footer-container.is-layout-constrained > * + * {
    margin-block-start: 3rem;
  }
.ta-footer-container.is-layout-constrained .ta-footer__bottom-text{
  font-size: 0.875rem;

}
.ta-footer-container.is-layout-constrained .ta-footer__bottom-text p{
  font-size: 1rem;

}
.ta-footer-container.is-layout-constrained .ta-footer__main-nav .wp-block-navigation-item__content{
  font-size: 1.125rem;
  font-weight: 700;

}
.ta-footer-container.is-layout-constrained .wp-block-image img{
  margin-left: auto;
  margin-right: auto;

}
@media (min-width: 768px){
  .ta-footer-container.is-layout-constrained .wp-block-image img{
    margin-left: 0px;
    margin-right: 0px;

  }

}
.ta-footer-container.is-layout-constrained .ta-footer-nav-1 .wp-block-navigation__container, .ta-footer-container.is-layout-constrained .ta-footer-nav-2 .wp-block-navigation__container{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;

}
@media (min-width: 768px){
  .ta-footer-container.is-layout-constrained .ta-footer-nav-1 .wp-block-navigation__container, .ta-footer-container.is-layout-constrained .ta-footer-nav-2 .wp-block-navigation__container{
    flex-direction: row;
    gap: 1.5rem;

  }

}
.ta-footer-container.is-layout-constrained .ta-footer-social-icons {
  }
/* page content wrapper styling*/
@media not all and (min-width: 1024px){
  div.ta-content-wrapper{
    flex-wrap: wrap !important;

  }
  div.ta-content-wrapper div.ta-left-content{
    flex-basis: 100% !important;

  }
  div.ta-content-wrapper div.ta-right-content{
    flex-basis: 100% !important;

  }

}
.wp-site-blocks > div.wp-block-group.alignfull:has(.ta-content-wrapper) {
      /* @apply max-md:px-sp-00; */
    }
@media screen and (max-width: 768px) {
    .wp-block-group.sidebar > div.wp-block-group{
    border-radius: 0px;
      margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
      margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;

  }
}
/* page content wrapper styling*/
/* class page  */
/* .ta-class-left-content{
  .is-layout-flex{
    gap: var(--wp--preset--spacing--sp-base);
  }
} */
/* class page  */
/* Staff page */
.ta-staff-card{
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.75rem;
  font-size: 0.875rem;

}
@media (min-width: 768px){
  .ta-staff-card{
    padding: 0px;

  }
  @media not all and (min-width: 1024px){
    .ta-staff-card{
      flex-wrap: nowrap !important;

    }

  }

}
.ta-staff-card.is-layout-flex {
    gap: var(--wp--preset--spacing--sp-sm);
  }
@media (min-width: 768px){
  @media not all and (min-width: 1024px){
    .ta-staff-card.is-layout-flex{
      gap: 1.5rem;

    }

  }

}
.ta-staff-card p{
  font-size: 0.75rem;
  line-height: 1rem;
  line-height: 1.25;

}
@media not all and (min-width: 1024px){
  .ta-staff-card p{
    font-size: 0.875rem;

  }

}
.ta-staff-card * + * {
    margin-block-start: var(--wp--preset--spacing--sp-xs);
  }
.ta-staff-card .ta-staff-card__info-wrapper {
    margin-block-start: var(--wp--preset--spacing--sp-0);
    align-self: flex-start;
    padding: 0.75rem;
    padding-left: 0px;
  }
.ta-staff-card .ta-staff-card__info-wrapper * + * {
      margin-block-start: var(--wp--preset--spacing--sp-xs);
    }
.ta-staff-card__name{
  font-size: 1.25rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));

}
@media not all and (min-width: 768px){
  .ta-staff-card__name{
    font-size: 1.5rem;

  }

}
@media screen and (min-width: 1024px) {
.ta-staff-card__name {
      font-size: clamp(1rem, 1.2vw, 1.25rem)
  }
    }
.ta-staff-card__title {
  }
.ta-staff-card__email{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.ta-staff-card__email a{
  --tw-text-opacity: 1;
  color: rgb(204 0 51 / var(--tw-text-opacity, 1));

}
.ta-staff-card__email{
    margin-block-start: var(--wp--preset--spacing--sp-0);

}
.ta-staff-card img{
  width: 11rem;
  border-radius: 10px;

}
@media (min-width: 768px){
  .ta-staff-card img{
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;

  }
  @media not all and (min-width: 1024px){
    .ta-staff-card img{
      width: 100%;

    }

  }

}
@media (min-width: 1024px){
  @media not all and (min-width: 1280px){
    .ta-staff-card img{
      border-radius: 10px;

    }

  }

}
@media (min-width: 1280px){
  .ta-staff-card img{
    width: 13rem;

  }

}
.ta-staff-card img {
    /* @media screen and (max-width: theme(screens.md)) {
      width: 150px;
    } */
  }
.ta-staff-card div.wp-block-column{
  flex-basis: 100%;

}
@media (min-width: 1024px){
  .ta-staff-card div.wp-block-column{
    flex-basis: 50%;

  }
  @media not all and (min-width: 1280px){
    .ta-staff-card > div.is-layout-flow.wp-block-column:has(.wp-block-image){
      padding: 0.75rem;
      padding-right: 0;

    }

  }

}
@media screen and (max-width: 768px) {
.ta-staff-card{
    border-radius: 0px;
    margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
    margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;

  }
  }
@media not all and (min-width: 1024px){
  div.ta-staff-block .wp-block-columns > .wp-block-column{
    flex-basis: 100% !important;

  }

}
div.ta-staff-block > div.wp-block-columns{
  flex-wrap: wrap !important;

}
@media (min-width: 1024px){
  div.ta-staff-block > div.wp-block-columns{
    flex-wrap: nowrap !important;

  }

}
@media (min-width: 768px){
  @media not all and (min-width: 1024px){
    div.ta-staff-block .ta-staff-card > div.wp-block-column:first-child{
      flex-basis: 33.333333% !important;

    }

  }

}
div.ta-staff-block .ta-staff-block-columns > div.is-layout-flow.wp-block-column{
  border-radius: 10px;

}
@media screen and (max-width: 1024px) {
    div.ta-staff-block h3.ta-staff-block-heading {
      margin-block-start: var(--wp--preset--spacing--sp-base);
    }
    div.ta-staff-block .ta-staff-block-columns {
      margin-block-start: var(--wp--preset--spacing--sp-base);
    }
    div.ta-staff-block .ta-staff-block-columns.ta-staff-block-has-empty-column {
      gap: var(--wp--preset--spacing--sp-0);
    }
  }
/* services columns */
.ta-services-columns.is-layout-flex {
  gap: var(--wp--preset--spacing--sp-base);
}
.ta-services-columns.ta-services-columns-with-blank-col {
  gap: var(--wp--preset--spacing--sp-0);
}
.ta-services-columns-without-btn .ta-info-block-small{
  padding-bottom: 2rem !important;

}
@media not all and (min-width: 768px){
  .ta-services-columns-without-btn .ta-info-block-small{
    padding-bottom: 1.5rem !important;

  }

}
@media screen and (min-width: 1024px) and (max-width: 1160px) {
  .ta-services-columns{
    flex-wrap: wrap !important;

  }
    .ta-services-columns .is-layout-flow.wp-block-column{
    flex-basis: 100% !important;

  }
}
/* ta-services-columns */
/*  */
/* */
/* Featured Box */
body .ta-featured-box{
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 2.5rem;
  padding-bottom: 0px !important;
  --tw-text-opacity: 1;
  color: rgb(95 106 114 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);

}
@media not all and (min-width: 1024px){
  body .ta-featured-box{
    padding: 1.5rem;

  }

}
body .ta-featured-box .wp-block-button:has(.wp-block-button__link){
  margin-left: auto;
  margin-right: auto;

}
@media (min-width: 768px){
  body .ta-featured-box .wp-block-button:has(.wp-block-button__link){
    margin-left: 0px;
    margin-right: 0px;

  }

}
body .ta-featured-box .wp-block-button__link{
  padding-left: 3.5rem;
  padding-right: 3.5rem;
  text-decoration-line: none;

}
body .ta-featured-box .wp-block-button__link:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
body .ta-featured-box__col-1 h2, body .ta-featured-box__col-1 h3, body .ta-featured-box__col-1 h4, body .ta-featured-box__col-1 h5, body .ta-featured-box__col-1 h6{
  font-size: 2.25rem;
  --tw-text-opacity: 1;
  color: rgb(95 106 114 / var(--tw-text-opacity, 1));
      font-size: clamp(1.75rem, 2.5vw, 2.25rem);

}
body .ta-featured-box__col-2 ul * + *{
  margin-top: 0.75rem;

}
body .ta-featured-box__col-2 ul li {
        /* @apply text-fs-xl; */
        font-size: clamp(1rem, 2.5vw, 1.25rem);
        background-image: url("../images/bullet-icon.svg");
        background-position: left top 0.5rem;
        background-repeat: no-repeat;
        padding-left: 1.25rem;
        text-align: left;
        line-height: 1.75rem;
      }
body .ta-featured-box__col-2 .ta-featured-box-ul {
      margin-block-start: var(--wp--preset--spacing--sp-sm);
    }
body .ta-featured-box p {
    font-size: clamp(1rem, 2.5vw, 1.25rem);
  }
@media screen and (max-width: 1024px) {
body .ta-featured-box {
    gap: var(--wp--preset--spacing--sp-base)
}
  }
body .ta-featured-box .ta-featured-box__col-2-ul {
    margin-block-start: var(--wp--preset--spacing--sp-sm);
  }
body .ta-featured-box:not(:has(.wp-block-buttons)){
  padding-bottom: 1.5rem !important;

}
@media (min-width: 1024px){
  body .ta-featured-box:not(:has(.wp-block-buttons)){
    padding: 2.5rem !important;

  }

}
@media screen and (max-width: 1024px) {
  body .ta-featured-box {
    margin-block-start: var(--wp--preset--spacing--sp-base);
  }
}
/* Text Over Image Section */
body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-cover__inner-container{
  padding-bottom: 5rem !important;

}
body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-cover__inner-container > .wp-block-group{
  position: static;

}
body .ta-text-over-image.wp-block-cover.wp-block-cover {
    justify-content: unset;
    align-items: unset;
    padding: 3rem;
    padding-left: 0;
    padding-right: 0;
  }
body .ta-text-over-image.wp-block-cover .wp-block-cover__inner-container {
    max-width: 500px;
    border-radius: 10px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
    padding: 3rem;
    font-size: 1rem;
    --tw-text-opacity: 1;
    color: rgb(95 106 114 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);;
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
body .ta-text-over-image.wp-block-cover .wp-block-cover__inner-container .wp-block-group > * + * {
      margin-block-start: var(--wp--preset--spacing--sp-sm);
    }
body .ta-text-over-image.wp-block-cover .wp-block-cover__inner-container h2 {
      font-size: clamp(1.75rem, 2vw, 2.25rem);
    }
body .ta-text-over-image.wp-block-cover .wp-block-cover__inner-container p {
      font-size: clamp(1rem, 2vw, 1.25rem);
    }
body .ta-text-over-image.wp-block-cover .wp-block-cover__image-background {
    width: 75%;
    right: 0;
    left: unset;
    -o-object-position: top right !important;
       object-position: top right !important;
    border-radius: 10px;
  }
body .ta-text-over-image.wp-block-cover .wp-block-cover__background {
    background: none;
  }
body .ta-text-over-image.wp-block-cover .wp-block-cover__image-background{
  border-radius: 10px;

}
/* Left Image */
body .ta-text-over-image.wp-block-cover.ta-text-over-image__left{
  justify-content: flex-end;

}
body .ta-text-over-image.wp-block-cover.ta-text-over-image__left .wp-block-cover__image-background {
      right: unset;
      left: 0;
      -o-object-position: top left !important;
         object-position: top left !important;
    }
body .ta-text-over-image.wp-block-cover.ta-text-over-image__left .wp-block-cover__inner-container {
    }
@media screen and (max-width: 768px) {
  .wp-block-cover.ta-text-over-image{
    flex-direction: column;
    padding-top: 0 !important;
    padding-bottom: 0 !important;

  }
    .wp-block-cover.ta-text-over-image img.wp-block-cover__image-background {
      position: unset;
      width: 100% !important;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
      border-bottom-right-radius: 0px !important;
      border-bottom-left-radius: 0px !important;
    }
    .wp-block-cover.ta-text-over-image .wp-block-cover__inner-container{
    margin-left: auto;
    margin-right: auto;
    max-width: 100% !important;
    border-top-left-radius: 0px !important;
    border-top-right-radius: 0px !important;
    padding: 1.5rem !important;

  }
      .wp-block-cover.ta-text-over-image .wp-block-cover__inner-container:has(.wp-block-buttons){
    padding-bottom: 0 !important;

  }
}
/* Info block Small - Best fitted into 3 col layout */
body .wp-block-column .ta-info-block-small{
  height: 100%;

}
body .ta-info-block-small{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 10px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
  padding-bottom: 0px !important;
  text-align: center;

}
@media (min-width: 768px){
  body .ta-info-block-small{
    padding: 2rem;

  }

}
body .ta-info-block-small.ta-info-block-small-carousel{
  position: relative;
  justify-content: flex-start;
  padding: 0px;
  padding-bottom: 4rem !important;

}
body .ta-info-block-small.ta-info-block-small-carousel .wp-block-image img{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;

}
body .ta-info-block-small.ta-info-block-small-carousel .ta-info-box-carousel-text-wrapper{
  position: static;
  margin: 0px;
  width: 100%;
  padding: 1.25rem;
  padding-bottom: 0px;

}
body .ta-info-block-small .ta-info-block-small__title{
  margin: 0px !important;
  text-align: left;
  --tw-text-opacity: 1;
  color: rgb(95 106 114 / var(--tw-text-opacity, 1));
    font-size: clamp(1.25rem, 2vw, 1.5rem);

}
body .ta-info-block-small .ta-info-block-small__text{
  margin-bottom: auto;
  text-align: left;
  --tw-text-opacity: 1;
  color: rgb(95 106 114 / var(--tw-text-opacity, 1));
    font-size: clamp(1rem, 2vw, 1.25rem);

}
body .ta-info-block-small .wp-block-buttons {
    justify-content: center;
  }
body .ta-info-block-small ul {
    margin-block-start: var(--wp--preset--spacing--sp-base);
  }
body .ta-info-block-small ul li {
      font-size: clamp(1rem, 2.5vw, 1.25rem);
      background-image: url("../images/bullet-icon.svg");
      background-position: left top 0.5rem;
      background-repeat: no-repeat;
      padding-left: 1.25rem;
      text-align: left;
      line-height: 1.75rem;
      --tw-text-opacity: 1;
      color: rgb(95 106 114 / var(--tw-text-opacity, 1));
    }
@media screen and (max-width: 768px) {
  .ta-info-block-small.ta-info-block-small-group {
    margin-block-start: var(--wp--preset--spacing--sp-base) !important;
  }
}
/* Template Header footer */
.wp-block-post-content {
  margin-top: 0;
}
/* Carousel common */
/* 
const imageClass = showImage ? "" : "ta-img-hidden";
const wrapperClass = showImage ? "" : "ta-wrapper-rounded-border";
const ctaClass = showCTA ? "" : "ta-cta-hidden"; */
.ta-carousel-container .ta-carousel-text-wrapper{
  width: 100%;

}
.ta-carousel-container.ta-img-hidden img {
      display: none;
    }
.ta-carousel-container.ta-wrapper-rounded-border .ta-carousel-text-wrapper{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;

}
.ta-carousel-container.ta-cta-hidden .ta-carousel__button {
      display: none;
    }
.ta-carousel-container.ta-cta-hidden .ta-carousel-text-wrapper{
  padding-bottom: 1rem;

}
@media screen and (max-width: 640px) {
  body .ta-carousel-container.wp-block-group, body .ta-carousel-container.wp-block-tbones-p-carousel-slider {
    margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
    margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;
  }
}
body .ta-carousel-container.wp-block-group .ta-carousel__button, .wp-block-tbones-p-carousel-slider .ta-carousel__button{
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.75rem;
  display: inline-block;
  justify-content: center;
  --tw-bg-opacity: 1;
  background-color: rgb(204 0 51 / var(--tw-bg-opacity, 1));
  padding: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;

}
@media (min-width: 1024px){
  body .ta-carousel-container.wp-block-group .ta-carousel__button, .wp-block-tbones-p-carousel-slider .ta-carousel__button{
    padding-left: 1.5rem;
    padding-right: 1.5rem;

  }

}
body .ta-carousel-container.wp-block-group .ta-carousel__button:hover, .wp-block-tbones-p-carousel-slider .ta-carousel__button:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
@media screen and (min-width: 1024px) and (max-width: 1100px) {
body .ta-carousel-container.wp-block-group .ta-carousel__button, .wp-block-tbones-p-carousel-slider .ta-carousel__button{
    padding-left: 0.75rem;
    padding-right: 0.75rem;

  }
    }
body .ta-carousel-container.wp-block-group .ta-carousel__button:hover, .wp-block-tbones-p-carousel-slider .ta-carousel__button:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
/* Styling for bottom aligned button */
.ta-bottom-aligned-button-parent, .ta-query-loop-wrapper .wp-block-post, body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-cover__inner-container{
  position: relative;
  padding-bottom: 5rem;

}
.ta-bottom-aligned-button, .ta-query-loop-wrapper .wp-block-read-more, body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-buttons, body .ta-info-block-small.ta-info-block-small-carousel .wp-block-buttons {
  transform: translate(-50%, 0);
  position: absolute;
  left: 50%;
  bottom: 0px;
  margin: 0px !important;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.75rem;
  display: inline-block;
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  justify-content: center;
  --tw-bg-opacity: 1;
  background-color: rgb(204 0 51 / var(--tw-bg-opacity, 1));
  padding: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  text-decoration-line: none;
}
@media (min-width: 1024px){
  .ta-bottom-aligned-button, .ta-query-loop-wrapper .wp-block-read-more, body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-buttons, body .ta-info-block-small.ta-info-block-small-carousel .wp-block-buttons{
    padding-left: 1.5rem;
    padding-right: 1.5rem;

  }

}
.ta-bottom-aligned-button, .ta-query-loop-wrapper .wp-block-read-more, body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-buttons, body .ta-info-block-small.ta-info-block-small-carousel .wp-block-buttons {
  width: -moz-max-content;
  width: max-content;
}
.ta-bottom-aligned-button:hover, .ta-query-loop-wrapper .wp-block-read-more:hover, body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-buttons:hover, body .ta-info-block-small.ta-info-block-small-carousel .wp-block-buttons:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
.ta-bottom-aligned-button .wp-block-button__link, .ta-query-loop-wrapper .wp-block-read-more .wp-block-button__link, body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-buttons .wp-block-button__link, body .ta-info-block-small.ta-info-block-small-carousel .wp-block-buttons .wp-block-button__link {
    padding: 0;
  }
@media screen and (min-width: 1024px) and (max-width: 1100px) {
.ta-bottom-aligned-button, .ta-query-loop-wrapper .wp-block-read-more, body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-buttons, body .ta-info-block-small.ta-info-block-small-carousel .wp-block-buttons{
    padding-left: 0.75rem;
    padding-right: 0.75rem;

  }
  }
.ta-bottom-aligned-button:hover, .ta-query-loop-wrapper .wp-block-read-more:hover, body .ta-text-over-image.wp-block-cover.is-style-bottom-button .wp-block-buttons:hover, body .ta-info-block-small.ta-info-block-small-carousel .wp-block-buttons:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));

}
/* ========================================= */
.swiper-pagination-bullet-active{
  --tw-bg-opacity: 1;
  background-color: rgb(204 0 51 / var(--tw-bg-opacity, 1));

}
.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: auto;
}
.swiper .swiper-pagination {
  margin-top: 3.5rem;
  margin-bottom: 2.5rem;
}
/* Carousel Styling */
@media screen and (max-width: 768px) {
.has-global-padding
  :where(.has-global-padding)
  > .alignfull.ta-carousel-container {
    margin-right: calc(var(--wp--style--root--padding-right) * -1);
    margin-left: calc(var(--wp--style--root--padding-left) * -1)
}
  }
.sfas-carousel .swiper-slide h4{
  margin-bottom: 0.75rem;
  text-align: left;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));

}
.sfas-carousel .swiper-slide p{
  text-align: left;
  font-size: 0.938rem;
  line-height: 1.25rem;

}
.sfas-carousel .swiper-wrapper {
  align-items: start;
}
.sfas-carousel .swiper {
  width: 100%;
  overflow: visible;
}
.sfas-carousel .swiper-slide {
  text-align: center;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: start;
  margin: 0px;
  background: white;
  transition: all 0.3s ease;
  opacity: 0.5;
}
.sfas-carousel .swiper-slide img{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;

}
.sfas-carousel .swiper-slide img.image-hidden{
  display: none;

}
.sfas-carousel .swiper-slide.swiper-slide-active {
  background: #fff;
  transform: scale(1.2);
  z-index: 2;
  opacity: 1;
}
.sfas-carousel .swiper-button-prev, .sfas-carousel .swiper-button-next {
  /* @apply text-white bg-clr-primary rounded-full w-10 h-10; */
}
.sfas-carousel .swiper-button-next:after, .sfas-carousel .swiper-button-prev:after {
  /* @apply text-white text-sm font-bold; */
}
.sfas-carousel .swiper-button-next {
  right: clamp(6%, 8.5vw, 28%);
}
.sfas-carousel .swiper-button-prev {
  left: clamp(6%, 8.5vw, 28%);
}
@media screen and (min-width: 480px) {
  .sfas-carousel .swiper-button-next {
    right: clamp(6%, 10.5vw, 28%);
  }
  .sfas-carousel .swiper-button-prev {
    left: clamp(6%, 10.5vw, 28%);
  }
}
@media screen and (min-width: 640px) {
  .sfas-carousel .swiper-button-next {
    right: clamp(6%, 11.5vw, 28%);
  }
  .sfas-carousel .swiper-button-prev {
    left: clamp(6%, 11.5vw, 28%);
  }
}
@media screen and (min-width: 768px) {
  .sfas-carousel .swiper-button-next {
    right: clamp(6%, 6.5vw, 28%);
  }
  .sfas-carousel .swiper-button-prev {
    left: clamp(6%, 6.5vw, 28%);
  }
}
@media screen and (min-width: 1024px) {
  .sfas-carousel .swiper-button-next {
    right: clamp(6%, 18vw, 28.5%);
  }
  .sfas-carousel .swiper-button-prev {
    left: clamp(6%, 18vw, 28.5%);
  }
}
/* 
@media screen and (min-width: theme(screens.lg)) {
  .sfas-carousel .swiper-button-next {
    right: 10%;
  }
  .sfas-carousel .swiper-button-prev {
    left: 10%;
  }
  .sfas-carousel .swiper-slide {
    font-size: 16px;
  }
}

@media screen and (min-width: theme(screens.md)) {
  .sfas-carousel .swiper-button-next {
    right: 23%;
    @media screen and (max-width: theme(screens.xs)) {
      right: 8.5%;
    }
  }
  .sfas-carousel .swiper-button-prev {
    left: 23%;
    @media screen and (max-width: theme(screens.xs)) {
      left: 8.5%;
    }
  }
} */
/* ARROWS */
.sfas-carousel .swiper-button-prev, .sfas-carousel .swiper-button-next {
  color: #f69259;
}
.mySwiper, .sfas-carousel, .ta-testimonials-swiper {
  width: 100%;
}
.sfas-carousel, .ta-testimonials-swiper {
  padding-bottom: 50px;
}
@media screen and (max-width: 1024px) {
  div.wp-block-tbones-p-carousel-slider.ta-carousel-container {
    margin-block-start: var(--wp--preset--spacing--sp-base);
  }
}
/* changes related breadcrumbs */
body.ta-show-breadcrumbs div.yoast-breadcrumbs {
    display: block;
  }
div.yoast-breadcrumbs{
  padding-bottom: 0.5rem;

}
body.ta-hide-breadcrumbs div.yoast-breadcrumbs {
    display: none;
  }
/* changes related breadcrumbs */
/* Style related */
/* Group with centered text */
body .wp-block-group.is-style-centered-text *{
  text-align: center;

}
/* Fixing font for animation */
.wp-block-lpb-lottie-player .lpbLottiePlayer lottie-player {
  font-family: var(--wp--preset--font-family--ff-source-sans) !important;
}
#ta-lottie-animation #wpadminbar {
  display: none !important;
}
/* hide lottie admin bar */
.page-id-568.admin-bar div#wpadminbar {
  display: none;
}
.page-id-568.admin-bar .wp-site-blocks {
  margin-top: clamp(-47px, -14vw, -31px);
}
body {
  font-display: optional;
}
.wp-block-lpb-lottie-player {
  min-height: clamp(150px, 44vw, 100vw) !important;
}
/* Search Popup Styles */
.search-popup-modal {
    display: none; /* Hidden by default */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}
.search-popup-modal .search-popup-content {
      background-color: #fff;
      width: 100%;
      max-width: 100%;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
      height: 100%;
      max-height: -moz-max-content;
      max-height: max-content;
      padding-bottom: 2rem;
     
  }
.search-popup-modal .search-popup-logo  {
    display: flex;
    padding-top: 1rem;
    padding-bottom: 1rem;
    align-items: center;
    /* height: 7.875rem; */
    border-bottom: 0.0625rem solid #D8D8D8;
  }
.search-popup-modal .search-popup-logo img{
        /* margin-bottom: 20px; */
        height: 67px;
        /* max-height: 85px; */
        width: 11rem;
        width: 208px;
      }
@media (max-width: 1024px){
.search-popup-modal .search-popup-logo img{
          width: 208px
      }
        }
.search-popup-modal .close-btn {
      position: absolute;
      top: 1rem;
      right: 1.5rem;
      font-size: 30px;
      cursor: pointer;
      background-color: transparent;
      border: 0;
      width: 1.125rem;
      height: 3.125rem;
  }
.search-popup-modal .close-btn svg{
        width: 1.125rem;
      height: 1.125rem;
      fill: rgb(204 0 51 / var(--tw-text-opacity, 1));
      }
.search-popup-modal #search-form{
    max-width: 51rem;
    margin: 0 auto;
    margin-top: 5rem;
    margin-bottom: 5rem;
    padding-right: 8%;
    padding-left: 8%;
  }
.search-popup-modal .search-inputfield{
    display: flex;
    flex-direction: row;
    margin-bottom: 1.875rem;
    position: relative;
    border-bottom: 0.0625rem solid #D8D8D8;
  }
.search-popup-modal .search-radio-buttons {
    margin-bottom: 20px;
    display: flex;
}
@media (max-width: 767px){
.search-popup-modal .search-radio-buttons {
      flex-direction: column
}
    }
.search-popup-modal .search-radio-buttons .radio-wrapper {
        position: relative;
        margin-right:2rem; 
     
    }
.search-popup-modal .search-radio-buttons input {
        position: absolute;
        top: 35%;
        left: 0;
        opacity: 0; /* Hide the default radio button */
        cursor: pointer; /* Change cursor to pointer */
    }
.search-popup-modal .search-radio-buttons label {
        font-size: 1rem;
        line-height: 1.375;
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
        padding-left: 2.5rem;
        display: block;
        position: relative;
        color: #000;
        cursor: pointer;
    }
.search-popup-modal .search-radio-buttons label::before {
            content: ''; /* Ensure the pseudo-element is displayed */
            left: 0;
            width: 1.25rem;
            height: 1.25rem;
            border: 0.0625rem solid #666;
            border-radius: 50%;
            background-color: #FFF;
            position: absolute; /* Position relative to the label */
        }
.search-popup-modal .search-radio-buttons label::after {
          content: '';
          margin-top: -0.25rem;
          left: 2rem;
          width: 1.75rem;
          height: 1.75rem;
          transform: translate3d(-2.25rem, 0, 0) scale(0.5);
          border-radius: 50%;
          background-color: #C03;
          opacity: 0;
          position: absolute;
        }
/* Show the custom radio button when checked */
.search-popup-modal .search-radio-buttons input:checked + label::after {
        opacity: 1; /* Show the inner circle when checked */
    }
.search-popup-modal #search-textfield {
      width: 100%;
      padding: 10px;
      border: none;
      padding-top: 1.25rem;
      padding-bottom: 1.25rem;
      font-size: 2rem;
      line-height: 1.25;
  }
@media (max-width: 767px){
.search-popup-modal #search-textfield {
        padding-top: 0.750rem;
        padding-bottom: 0.750rem;
        font-size: 1.25rem;
        line-height: 1
  }
      }
.search-popup-modal #search-btn {
      position: absolute;
      top: 50%;
      background-color:transparent;
      border: none;
      cursor: pointer;
      transform: translateY(-50%);
      right: 0;
      /* width: 2rem;
      height: 2rem; */
      margin-right: 0.75rem;
  }
.search-popup-modal #search-btn svg{
        width: 2rem;
        height: 2rem;
        fill: rgb(204 0 51 / var(--tw-text-opacity, 1));
      }
@media (max-width: 767px){
.search-popup-modal #search-btn svg{
          width: 1.5rem;
          height: 1.5rem
      }
        }
.search-popup-modal .popup-serach-icon-svg{
  
  }
.search-icon button {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 24px;
}
/* #search-icon-btn{ */
.search-icon-btn{
  border:0;
  background-color:transparent;
}
.search-icon-btn svg.nav-serach-icon-svg{
    width: 1.125rem;
    height: 1.125rem;

  }
.search-icon-btn svg{
  fill: rgb(204 0 51 / var(--tw-text-opacity, 1));
  }
.search-icon-btn a{
    display: inline-block; 
    width: 20px; 
    height: 20px; 
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Ctitle%3ESearch%3C/title%3E%3Cpath fill='%23C03' d='M11.1,0C5,0,0,5,0,11.1s5,11.1,11.1,11.1c2.3,0,4.5-0.7,6.3-2l7.3,7.3c0.8,0.8,2,0.8,2.8,0c0.8-0.8,0.8-2,0-2.8l-7.3-7.3c1.3-1.8,2-4,2-6.3C22.1,5,17.2,0,11.1,0z M11.1,3.9c4,0,7.2,3.2,7.2,7.2c0,4-3.2,7.2-7.2,7.2c-4,0-7.2-3.2-7.2-7.2C3.9,7.1,7.1,3.9,11.1,3.9z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat; 
    cursor: pointer; 
    text-indent: -9999px; 
    overflow: hidden; 
  }
@media (min-width:1024px){
  .mobile-search-icon{
    display: none!important;
  }
}
@media (max-width:1023px){
  li.search-icon-btn{
    display: none!important;
  }
.top-menu-navigation.is-layout-flex{ 
    gap: var(--wp--preset--spacing--sp-base)
}
    .top-menu-navigation.is-layout-flex .search-icon-btn{
      margin-top: 8px;
    }
}
/* search block class */
/* video play button */
a.wpzoom-video-popup-block, .editor-styles-wrapper a.wpzoom-video-popup-block {
  align-items: end;
}
/* video play button */
@media (min-width: 1024px){
  .lg\:p-20{
    padding: 5rem;

  }

}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy5ndWxwLXNldHVwL25vZGVfbW9kdWxlcy90YWlsd2luZGNzcy9iYXNlLmNzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy5ndWxwLXNldHVwL25vZGVfbW9kdWxlcy90YWlsd2luZGNzcy91dGlsaXRpZXMuY3NzIiwiYXBwLnBjc3MiLCJpbmMvX3ZhcmlhYmxlcy5wY3NzIiwiaW5jL19yZXNldC5wY3NzIiwiaW5jL19zcGFjaW5ncy5wY3NzIiwiaW5jL292ZXJyaWRlcy9fY29yZS0taGVhZGluZy5wY3NzIiwiaW5jL292ZXJyaWRlcy9fY29yZS0tbGlzdC5wY3NzIiwiaW5jL292ZXJyaWRlcy9fY29yZS0tbmF2aWdhdGlvbi5wY3NzIiwiaW5jL292ZXJyaWRlcy9fY29yZS0tc2VhcmNoLnBjc3MiLCJpbmMvX3RlbXBsYXRlcy5wY3NzIiwiaW5jL190ZW1wbGF0ZS1wYXJ0cy5wY3NzIiwiaW5jL19nbG9iYWwucGNzcyIsIjxubyBzb3VyY2U+Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQUEsd0JBQWM7RUFBZCx3QkFBYztFQUFkLG1CQUFjO0VBQWQsbUJBQWM7RUFBZCxjQUFjO0VBQWQsY0FBYztFQUFkLGNBQWM7RUFBZCxlQUFjO0VBQWQsZUFBYztFQUFkLGFBQWM7RUFBZCxhQUFjO0VBQWQsa0JBQWM7RUFBZCxzQ0FBYztFQUFkLDhCQUFjO0VBQWQsNkJBQWM7RUFBZCw0QkFBYztFQUFkLGVBQWM7RUFBZCxvQkFBYztFQUFkLHNCQUFjO0VBQWQsdUJBQWM7RUFBZCx3QkFBYztFQUFkLGtCQUFjO0VBQWQsMkJBQWM7RUFBZCw0QkFBYztFQUFkLHNDQUFjO0VBQWQsa0NBQWM7RUFBZCwyQkFBYztFQUFkLHNCQUFjO0VBQWQsOEJBQWM7RUFBZCxZQUFjO0VBQWQsa0JBQWM7RUFBZCxnQkFBYztFQUFkLGlCQUFjO0VBQWQsa0JBQWM7RUFBZCxjQUFjO0VBQWQsZ0JBQWM7RUFBZCxhQUFjO0VBQWQsbUJBQWM7RUFBZCxx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QTtJQUFBOztFQXNCQTs7QUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQHRhaWx3aW5kIGJhc2U7XG4iLCJAdGFpbHdpbmQgdXRpbGl0aWVzO1xuIiwiQGltcG9ydCBcInRhaWx3aW5kY3NzL2Jhc2VcIjtcbkBpbXBvcnQgXCJ0YWlsd2luZGNzcy9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwidGFpbHdpbmRjc3MvdXRpbGl0aWVzXCI7XG5cbi8qSW1wb3J0IHZhcmlhYmxlcyovXG5AaW1wb3J0IFwiaW5jL192YXJpYWJsZXMucGNzc1wiO1xuXG4vKiBSZXNldHMgKi9cbkBpbXBvcnQgXCJpbmMvX3Jlc2V0LnBjc3NcIjtcblxuLyogU3BhY2luZ3MgKi9cbkBpbXBvcnQgXCJpbmMvX3NwYWNpbmdzLnBjc3NcIjtcblxuLypJbXBvcnQgQmxvY2svVGVtcGxhdGVzL1BhdHRlcm5zIFN0eWxlcyovXG5AaW1wb3J0LWdsb2IgXCIuL2luYy9vdmVycmlkZXMvKiovKi5wY3NzXCI7XG5cbi8qIEltcG9ydCB0ZW1wYXRlcywgcGFydHMsIHBhdHRlcm5zIHJlbGF0ZWQgc3R5bGVzICovXG5AaW1wb3J0IFwiaW5jL190ZW1wbGF0ZXMucGNzc1wiO1xuQGltcG9ydCBcImluYy9fdGVtcGxhdGUtcGFydHMucGNzc1wiO1xuQGltcG9ydCBcImluYy9fYmxvY2stcGF0dGVybnMucGNzc1wiO1xuXG5AaW1wb3J0IFwiaW5jL19nbG9iYWwucGNzc1wiO1xuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQWxsIHZhcmlhYmxlcyAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qXG4gIFRPRE8gTmV4dCB0aGluZ3MgdG8gaW1wbGVtZW50IGluIHRoZW1lXG4gLSBGbHVpZCB0eXBvZ3JhcGh5IChodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDIyLzAxL21vZGVybi1mbHVpZC10eXBvZ3JhcGh5LWNzcy1jbGFtcC8pXG4gLSBLZWVwIHRoZW1lLmpzb24gdmFsdWVzIG1vYmlsZSBmaXJzdCBhcyB0YWlsd2luZCBpcyBtb2JpbGUgZmlyc3RcblxuKi9cblxuLyoqKioqKioqKioqKioqKiBCcmVha1BvaW50cyAtIHRhaWx3aW5kLmNvbmZpZy5qc29uICoqKioqKioqKioqKioqKlxuXG4gICAgeHM6IFwiNDgwcHhcIixcbiAgICBzbTogXCI2NDBweFwiLFxuICAgIG1kOiBcIjc2OHB4XCIsXG4gICAgbGc6IFwiMTAyNHB4XCIsXG4gICAgeGw6IFwiMTI4MHB4XCIsXG4gICAgMnhsOiBcIjE1MzZweFwiLFxuXG4gIC0gVGFpbHdpbmQgKENTUykgdXNhZ2VcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICB0aGVtZShzY3JlZW5zLnhzKVxuXG4gICovXG5cblxuLyoqKioqKioqKioqKioqKiBGb250IFNpemVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4tIFNsdWdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5mcy14cyAtIDEycHggLyAwLjc1cmVtXG5mcy1zbSAtIDE0cHggLyAwLjg3NXJlbVxuZnMtY3VzdG9tIC0gMTVweCAvIDAuOTM4cmVtXG5mcy1iYXNlIC0gMTZweCAvIDFyZW1cbmZzLWxnIC0gMThweCAvIDEuMTI1cmVtXG5mcy14bCAtIDIwcHggLyAxLjI1cmVtXG5mcy0yLXhsIC0gMjRweCAvIDEuNXJlbVxuZnMtMy14bCAtIDMwcHggLyAxLjg3NXJlbVxuZnMtNC14bCAtIDM2cHggLyAyLjI1cmVtXG5mcy1tYXgtMzYgLSAzNnB4XG5mcy1tYXgtNDggLSA0OHB4XG5mcy1tYXgtNjAgLSA2MHB4XG5mcy1tYXgtNzIgLSA3MnB4XG5cbi0gVGFpbHdpbmQgdXNhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRleHQtZnMteHNcblxuLSBXUCB1c2FnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWZzLXhzXG4tLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tZnMtY3VzdG9tXG4tLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tZnMtc21cbi0td3AtLXByZXNldC0tZm9udC1zaXplLS1mcy1iYXNlXG4tLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tZnMtbGdcbi0td3AtLXByZXNldC0tZm9udC1zaXplLS1mcy14bFxuLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWZzLTIteGxcbi0td3AtLXByZXNldC0tZm9udC1zaXplLS1mcy0zLXhsXG4tLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tZnMtNC14bFxuLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWZzLW1heC0zNlxuLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWZzLW1heC00OFxuLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWZzLW1heC02MFxuLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWZzLW1heC03MlxuXG4qL1xuXG5cbi8qKioqKioqKioqKioqKiogQ29sb3JzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4tIFNsdWdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5jbHItYmFzZSAtICNGNEY0RjQgLy8gUnV0Z2VycyBMaWdodCBHcmV5XG5jbHItcHJpbWFyeSAtICNDQzAwMzMgLy8gUnV0Z2VycyBSZWRcbmNsci1zZWNvbmRhcnkgLSAjNUY2QTcyIC8vIFJ1dGdlcnMgRGFyayBncmV5XG5jbHItd2hpdGUgLSAjZmZmXG5jbHItYmxhY2sgLSAjMDAwXG5cbi0gVGFpbHdpbmQgdXNhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRleHQtY2xyLWJhc2VcbmJnLWNsci1iYXNlXG5ib3JkZXItY2xyLWJhc2VcblxuLSBXUCB2YXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0td3AtLXByZXNldC0tY29sb3ItLWNsci1iYXNlXG4tLXdwLS1wcmVzZXQtLWNvbG9yLS1jbHItcHJpbWFyeVxuLS13cC0tcHJlc2V0LS1jb2xvci0tY2xyLXNlY29uZGFyeVxuLS13cC0tcHJlc2V0LS1jb2xvci0tY2xyLXdoaXRlXG4tLXdwLS1wcmVzZXQtLWNvbG9yLS1jbHItYmxhY2tcblxuKi9cblxuLyoqKioqKioqKioqKioqKiBGb250IEZhbWlsaWVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLypcbi0gV1AgYmFzZWQgbmFtZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLS1mZi1zYW5zOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tZmYtc291cmNlLXNhbnMpO1xuXG4qL1xuXG4vKioqKioqKioqKioqKioqIEZvbnQgV2VpZ2h0cyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuIC0gU2x1Z3NcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gZnctdGhpbjogMTAwO1xuIGZ3LWV4dHJhLWxpZ2h0OiAyMDA7XG4gZnctbGlnaHQ6IDMwMDtcbiBmdy1yZWd1bGFyOiA0MDA7XG4gZnctbWVkaXVtOiA1MDA7XG4gZnctc2VtaS1ib2xkOiA2MDA7XG4gZnctYm9sZDogNzAwO1xuIGZ3LWV4dHJhLWJvbGQ6IDgwMDtcbiBmdy1ibGFjazogOTAwO1xuXG4gLSBUYWlsd2luZCB1c2FnZVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBmb250LWZ3LXRoaW5cblxuIC0gV1AgdXNhZ2VcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLXdwLS1jdXN0b20tLXR5cG9ncmFwaHktLWZvbnQtd2VpZ2h0LS1mdy10aGluXG4tLXdwLS1jdXN0b20tLXR5cG9ncmFwaHktLWZvbnQtd2VpZ2h0LS1mdy1leHRyYS1saWdodFxuLS13cC0tY3VzdG9tLS10eXBvZ3JhcGh5LS1mb250LXdlaWdodC0tZnctbGlnaHRcbi0td3AtLWN1c3RvbS0tdHlwb2dyYXBoeS0tZm9udC13ZWlnaHQtLWZ3LXJlZ3VsYXJcbi0td3AtLWN1c3RvbS0tdHlwb2dyYXBoeS0tZm9udC13ZWlnaHQtLWZ3LW1lZGl1bVxuLS13cC0tY3VzdG9tLS10eXBvZ3JhcGh5LS1mb250LXdlaWdodC0tZnctc2VtaS1ib2xkXG4tLXdwLS1jdXN0b20tLXR5cG9ncmFwaHktLWZvbnQtd2VpZ2h0LS1mdy1ib2xkXG4tLXdwLS1jdXN0b20tLXR5cG9ncmFwaHktLWZvbnQtd2VpZ2h0LS1mdy1leHRyYS1ib2xkXG4tLXdwLS1jdXN0b20tLXR5cG9ncmFwaHktLWZvbnQtd2VpZ2h0LS1mdy1ibGFja1xuXG5cbiovXG5cblxuLyoqKioqKioqKioqKioqKiBMaW5lIEhlaWdodHMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbi0gU2x1Z3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxubGgtbm9uZVx0ICAgIC8vICAxO1xubGgtdGlnaHRcdC8vICAxLjI1O1xubGgtc251Z1x0ICAgIC8vICAxLjM3NTtcbmxoLW5vcm1hbFx0Ly8gIDEuNTtcbmxoLXJlbGF4ZWRcdC8vICAxLjYyNTtcbmxoLWxvb3NlXHQvLyAgMjtcblxuLSBXUCB1c2FnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS13cC0tY3VzdG9tLS10eXBvZ3JhcGh5LS1saW5lLWhlaWdodC0tbGgtbm9uZTogMTtcbi0td3AtLWN1c3RvbS0tdHlwb2dyYXBoeS0tbGluZS1oZWlnaHQtLWxoLXRpZ2h0OiAxLjI1O1xuLS13cC0tY3VzdG9tLS10eXBvZ3JhcGh5LS1saW5lLWhlaWdodC0tbGgtc251ZzogMS4zNzU7XG4tLXdwLS1jdXN0b20tLXR5cG9ncmFwaHktLWxpbmUtaGVpZ2h0LS1saC1ub3JtYWw6IDEuNTtcbi0td3AtLWN1c3RvbS0tdHlwb2dyYXBoeS0tbGluZS1oZWlnaHQtLWxoLXJlbGF4ZWQ6IDEuNjI1O1xuLS13cC0tY3VzdG9tLS10eXBvZ3JhcGh5LS1saW5lLWhlaWdodC0tbGgtbG9vc2U6IDI7XG5cbiovXG5cblxuLyoqKioqKioqKioqKioqKiBTcGFjaW5nICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4gLSBTbHVnc1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnNwLTAgIC8vIDAgLSAwO1xuc3AteHMgIC8vIDAuNXJlbSAtIDhweDtcbnNwLXNtICAvLyAxcmVtIC0gMTZweDtcbnNwLWJhc2UgIC8vIDEuNXJlbSAtIDI0cHg7XG5zcC1sZzogLy8gMnJlbSAtIDMycHg7XG5zcC14bDogLy8gMi41cmVtIC0gNDBweDtcbnNwLWlubmVyOiAvLyAycmVtIC0gNDBweDtcblxuXG4tIHRhaWx3aW5kIGNsYXNzZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnAtc3AtMFxucC1zcC14c1xuXG5cbi0gV1AgdXNhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtMCAgLy8gMCAtIDA7XG4tLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLXhzICAvLyAwLjVyZW0gLSA4cHg7XG4tLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLXNtICAvLyAxcmVtIC0gMTZweDtcbi0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtYmFzZSAgLy8gMS41cmVtIC0gMjRweDtcbi0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtbGc6IC8vIDJyZW0gLSAzMnB4O1xuLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC14bDogLy8gMi41cmVtIC0gNDBweDtcblxuXG4qL1xuXG4vKioqKioqKioqKioqKioqIGxheW91dCBTaXplcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLSBXUCBiYXNlZCBuYW1lc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSAgICAgICAgIC8vIDEyMDBweDtcbiAtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUgICAgICAgICAgICAgLy8gMTI4MHB4O1xuXG4qL1xuXG4vKioqKioqKioqKioqKioqIEJsb2NrIEdhcCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuLSBXUCBiYXNlZCBuYW1lc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIC0td3AtLXN0eWxlLS1ibG9jay1nYXBcblxuKi9cblxuOnJvb3Qge1xuXG4gIC0tZmYtc2FuczogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWZmLXNvdXJjZS1zYW5zKTtcblxufSIsIi8qIENTUyBSZXNldCAqL1xuQGxheWVyIGJhc2Uge1xuICAvKioqKioqKioqKioqKioqKioqKioqIENTUyBSRVNFVCAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qIGh0dHBzOi8vcGljY2FsaWwubGkvYmxvZy9hLW1vZGVybi1jc3MtcmVzZXQvICovXG5cbiAgLyogQm94IHNpemluZyBydWxlcyAqL1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKiBSZW1vdmUgbGlzdCBzdHlsZXMgb24gdWwsIG9sIGVsZW1lbnRzIHdpdGggYSBsaXN0IHJvbGUsIHdoaWNoIHN1Z2dlc3RzIGRlZmF1bHQgc3R5bGluZyB3aWxsIGJlIHJlbW92ZWQgKi9cbiAgdWxbcm9sZT1cImxpc3RcIl0sXG4gIG9sW3JvbGU9XCJsaXN0XCJdLFxuICB1bCxcbiAgb2wge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvKiBTZXQgY29yZSByb290IGRlZmF1bHRzICovXG4gIGh0bWw6Zm9jdXMtd2l0aGluIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxuXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC8qIFNldCBjb3JlIGJvZHkgZGVmYXVsdHMgKi9cbiAgYm9keSB7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuXG4gIC8qIEEgZWxlbWVudHMgdGhhdCBkb24ndCBoYXZlIGEgY2xhc3MgZ2V0IGRlZmF1bHQgc3R5bGVzICovXG4gIGE6bm90KFtjbGFzc10pIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XG4gIH1cblxuICAvKiBNYWtlIGltYWdlcyBlYXNpZXIgdG8gd29yayB3aXRoICovXG4gIGltZyxcbiAgcGljdHVyZSxcbiAgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiBJbmhlcml0IGZvbnRzIGZvciBpbnB1dHMgYW5kIGJ1dHRvbnMgKi9cbiAgaW5wdXQsXG4gIGJ1dHRvbixcbiAgdGV4dGFyZWEsXG4gIHNlbGVjdCB7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgfVxuXG4gIC8qIHJlbW92ZSBhbmltYXRpb25zIGZvciBwZW9wbGUgd2hvJ3ZlIHR1cm5lZCB0aGVtIG9mZiAqL1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8qIFJFU0VUIEFkZGVkIGJ5IFRCb25lcyovXG5cbiAgYm9keSBhOndoZXJlKDpub3QoLndwLWVsZW1lbnQtYnV0dG9uKSksXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5mbG93ID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWZsb3ctc3BhY2UsIDRlbSk7XG4gIH1cbn1cbiIsIjpyb290IHtcbiAgLyogVmVydGljYWwgU3BhY2luZ3MgKi9cblxuICBib2R5IHtcbiAgICAud3Atc2l0ZS1ibG9ja3MgPiAqICsgKixcbiAgICAuaXMtbGF5b3V0LWNvbnN0cmFpbmVkID4gKiArICoge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC1iYXNlKTtcbiAgICB9XG5cbiAgICBoZWFkZXIgKyAud3AtYmxvY2stcG9zdC1jb250ZW50IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAud3Atc2l0ZS1ibG9ja3Mge1xuICAgICAgaDEsXG4gICAgICBoMixcbiAgICAgIGgzLFxuICAgICAgaDQuaDUsXG4gICAgICBoNiB7XG4gICAgICAgICYgKyAqIHtcbiAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLXNtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHRoZW1lKHNjcmVlbnMubWQpKSB7XG4gICAgICAud3Atc2l0ZS1ibG9ja3MgPiAqICsgKixcbiAgICAgIC5pcy1sYXlvdXQtY29uc3RyYWluZWQgPiAqICsgKiB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AteGwpO1xuICAgICAgfVxuICAgICAgLndwLXNpdGUtYmxvY2tzIHtcbiAgICAgICAgaDEsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyxcbiAgICAgICAgaDQuaDUsXG4gICAgICAgIGg2IHtcbiAgICAgICAgICAmICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLWJhc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLypFeGNlcHRpb25zKi9cbi50YS12aWRlby1jb250YWluZXIge1xuICBnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLXNtKSAhaW1wb3J0YW50O1xuICBoMyArICoge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AteHMpO1xuICB9XG59XG4iLCJib2R5IHtcbiAgaDEsXG4gIGgyLFxuICAmLmVkaXRvci1zdHlsZXMtd3JhcHBlciBoMSB7XG4gICAgQGFwcGx5IHRleHQtZnMtMi14bCBtZDp0ZXh0LWZzLW1heC0zNjtcbiAgfVxuICBoMyB7XG4gICAgQGFwcGx5IHRleHQtZnMtYmFzZSBsZWFkaW5nLWxoLXRpZ2h0IG1kOnRleHQtZnMteGw7XG4gIH1cblxuICBoMi50YS1zZWNvbmRhcnktaGVhZGluZyB7XG4gICAgQGFwcGx5IHRleHQtY2xyLXNlY29uZGFyeTtcbiAgfVxufVxuLnNpZGViYXIge1xuICBoMyB7XG4gICAgQGFwcGx5IGxnOnRleHQtZnMtMi14bCB0ZXh0LWNsci1wcmltYXJ5O1xuICB9XG4gIC50YS1zaWRlYmFyLXNlYXJjaCB7XG4gICAgaDMge1xuICAgICAgQGFwcGx5IGxnOnRleHQtZnMteGwgdGV4dC1jbHItYmxhY2s7XG4gICAgfVxuICB9XG59XG4iLCIvKiBCdWxsZXR0ZWQgbGlzdCAqL1xuXG4udGEtYnVsbGV0ZWQtbGlzdCB7XG4gIEBhcHBseSBtbC0wLjU7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMi9yaWdodC1jYXJldC5zdmdcIik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG59XG4iLCIvKiBRdWljayBMaW5rcyAqL1xuXG5kaXYgZGl2LndwLWJsb2NrLWdyb3VwLnRhLXF1aWNrLWxpbmtzIHtcbiAgQGFwcGx5IGdhcC14LTUgbXQtNSBtYi0zO1xuXG4gICYgPiBwIHtcbiAgICBAYXBwbHkgZm9udC1ib2xkIHRleHQtYmFzZSBwYi1zcC14cztcbiAgfVxuXG4gIC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuICAgIEBhcHBseSBmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBpdGVtcy1jZW50ZXIgZ2FwLXgtNTtcbiAgICAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19jb250ZW50IHtcbiAgICAgIEBhcHBseSBuby11bmRlcmxpbmUgcGItMiB0ZXh0LWJhc2UgYm9yZGVyLTAgYm9yZGVyLWItMiBib3JkZXItc29saWQgYm9yZGVyLXRyYW5zcGFyZW50ICAgdGV4dC1jbHItcHJpbWFyeSBmb250LWJvbGQgbGVhZGluZy00O1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgwLjg2cmVtLCAxLjN2dywgMXJlbSk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQGFwcGx5IGJvcmRlci0wIGJvcmRlci1iLTIgIGJvcmRlci1jbHItcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICBkaXYgZGl2LnRhLXF1aWNrLWxpbmtzIHtcbiAgICBAYXBwbHkgZmxleC1jb2wgaXRlbXMtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC0wMCk7XG4gIH1cbn1cblxuLnRhLXF1Y2tsaW5rcy0yIHtcbiAgQGFwcGx5ICFtdC00IGxnOmhpZGRlbjtcblxuICAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIHtcbiAgICBAYXBwbHkgZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAgaXRlbXMtY2VudGVyO1xuICB9XG5cbiAgLndwLWJsb2NrLW5hdmlnYXRpb24taXRlbSB7XG4gICAgQGFwcGx5IG1yLTEgbXQtMyBzbTptci0yO1xuICAgIEBleHRlbmQgLnRhLXRhZ3M7XG4gIH1cbn1cblxuLyogZm9yIHRhZ3MgJiBjYXRlZ29yaWVzLCBhbmQgcXVpY2sgbGlua3MgKi9cbi50YS10YWdzIHtcbiAgQGFwcGx5IHRleHQtd2hpdGUgdGV4dC14cyBiZy1jbHItcHJpbWFyeSByb3VuZGVkLWZ1bGwgZm9udC1ib2xkIHAtMiBweC0zIHNtOnRleHQtc20gc206cHgtNDtcbiAgYSB7XG4gICAgQGFwcGx5IG5vLXVuZGVybGluZTtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiB0aGVtZShzY3JlZW5zLmxnKSkge1xuICAgIEBhcHBseSB0ZXh0LWJhc2UgdGV4dC1jbHItcHJpbWFyeSBiZy10cmFuc3BhcmVudCBmb250LWJvbGQgcC0xIHB4LTQ7XG4gIH1cbn1cblxuLyogSGFtYnVyZ2VyIE1lbnUgKi9cbi5oYW1idXJnZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyLXRvcCxcbi5oYW1idXJnZXItbWlkZGxlLFxuLmhhbWJ1cmdlci1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gIEBhcHBseSBiZy1jbHItcHJpbWFyeTtcbn1cblxuLmhhbWJ1cmdlci1taWRkbGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KTtcbn1cblxuLmhhbWJ1cmdlci1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTRweCk7XG59XG5cbi5vcGVuIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4ub3BlbiAuaGFtYnVyZ2VyLXRvcCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKDZweCkgdHJhbnNsYXRlWCg2cHgpO1xufVxuXG4ub3BlbiAuaGFtYnVyZ2VyLW1pZGRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vcGVuIC5oYW1idXJnZXItYm90dG9tIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKDZweCkgdHJhbnNsYXRlWCgtNnB4KTtcbn1cblxuLmRyb3Bkb3duOmhvdmVyIC5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZHJvcGRvd246aG92ZXIgPiBhIHtcbiAgQGFwcGx5IHRleHQtY2xyLXByaW1hcnk7XG59XG5cbi5hY3RpdmUtbmF2LWl0ZW0tcGFyZW50ID4gYSB7XG4gIEBhcHBseSB0ZXh0LWNsci1wcmltYXJ5O1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbl9fc3VibWVudS1jb250YWluZXJcbiAgLndwLWJsb2NrLW5hdmlnYXRpb24taXRlbS5jdXJyZW50LW1lbnUtaXRlbSB7XG4gIEBhcHBseSBiZy1jbHItYmFzZSByb3VuZGVkO1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyID4gLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gIEBhcHBseSB0ZXh0LWNsci1wcmltYXJ5O1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIEBhcHBseSBiZy13aGl0ZSBwLTMgc3BhY2UteS0xIHotNTA7XG4gIGxpIHtcbiAgICBAYXBwbHkgcC0zIHB5LTEgdGV4dC1zbTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBhcHBseSBiZy1jbHItYmFzZSByb3VuZGVkO1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBAYXBwbHkgdGV4dC1mcy1zbTtcbiAgfVxufVxuXG4jc2l0ZS1tZW51LXdyYXBwZXIge1xuICAuZHJvcGRvd24tbWVudSBhIHtcbiAgICBAYXBwbHkgbm8tdW5kZXJsaW5lO1xuICAgICY6aG92ZXIge1xuICAgICAgQGFwcGx5IHRleHQtY2xyLWJsYWNrO1xuICAgIH1cbiAgfVxuICAudGEtZGVza3RvcC1uYXYge1xuICAgIEBhcHBseSBoaWRkZW4gbGc6ZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBsZzpzcGFjZS14LTQgbGc6dGV4dC1sZyB4bDp0ZXh0LWxnIHhsOnNwYWNlLXgtODtcbiAgfVxuICAmID4gdWwgPiBsaSA+IGEge1xuICAgIEBhcHBseSBsZzp0ZXh0LWZzLWJhc2Ugbm8tdW5kZXJsaW5lO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHRoZW1lKHNjcmVlbnMubGcpKSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDAuOXJlbSwgMS41dncsIDEuMjVyZW0pO1xuICAgIH1cbiAgfVxufVxuXG4vKiBNYWluIE5hdmlnYXRpb24gU3R5bGUgdXNpbmcgQ29yZSBibG9jayAqL1xuXG4udGEtZGVza3RvcC1uYXYud3AtYmxvY2stbmF2aWdhdGlvbiB7XG4gIC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuICAgIEBhcHBseSBnYXAtMCAgbGc6ZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWVuZCBsZzpzcGFjZS14LTQgbGc6dGV4dC1sZyB4bDp0ZXh0LWxnIHhsOnNwYWNlLXgtODtcblxuICAgIC5hY3RpdmUtbmF2LWl0ZW0tcGFyZW50LFxuICAgIC5hY3RpdmUtbmF2LWl0ZW0tdG9wLWx2bCB7XG4gICAgICBAYXBwbHkgdGV4dC1jbHItcHJpbWFyeSAhYmctd2hpdGU7XG4gICAgfVxuXG4gICAgLmFjdGl2ZS1uYXYtaXRlbSB7XG4gICAgICBAYXBwbHkgYmctY2xyLWJhc2Ugcm91bmRlZDtcbiAgICAgIC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgQGFwcGx5IHRleHQtY2xyLWJsYWNrO1xuICAgICAgfVxuICAgICAgJi5hY3RpdmUtbmF2LWl0ZW0tdG9wLWx2bCB7XG4gICAgICAgIEBhcHBseSBiZy1jbHItd2hpdGUgcm91bmRlZC1ub25lIHRleHQtY2xyLXByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndwLWJsb2NrLW5hdmlnYXRpb24taXRlbSB7XG4gICAgICBAYXBwbHkgaW5saW5lLWJsb2NrIHJlbGF0aXZlO1xuICAgICAgYSB7XG4gICAgICAgIEBhcHBseSBmb250LWJvbGQgbGc6dGV4dC1mcy1iYXNlIG5vLXVuZGVybGluZTtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogdGhlbWUoc2NyZWVucy5sZykpIHtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuNzRyZW0sIDF2dywgMTVweCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogdGhlbWUoc2NyZWVucy54bCkpe1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMC44NnJlbSwgMS4xdncsIDE1cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMC44NnJlbSwgMS4ydncsIDEuMjVyZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvKiBzdWJtZW51IGNvbnRhaW5lciAqL1xuICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb25fX3N1Ym1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgQGFwcGx5IGJvcmRlci1ub25lIGJnLXdoaXRlIHAtMyBzcGFjZS15LTEgei01MDtcbiAgICAgICAgbGkge1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgIEBhcHBseSB0ZXh0LWZzLXNtO1xuICAgICAgICB9XG4gICAgICAgIC8qIHN1Ym1lbnUgc2luZ2xlIGl0ZW0gKi9cbiAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24taXRlbSB7XG4gICAgICAgICAgQGFwcGx5IHAtMyBweS0xO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQGFwcGx5IGJnLWNsci1iYXNlIHJvdW5kZWQ7XG4gICAgICAgICAgICAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgIEBhcHBseSB0ZXh0LWNsci1ibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24taXRlbV9fY29udGVudCB7XG4gICAgICAgICAgICBAYXBwbHkgYmxvY2sgdGV4dC1zbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLndwLWJsb2NrLW5hdmlnYXRpb24taXRlbV9fbGFiZWwge1xuICAgICAgICAgICAgQGFwcGx5IGJsb2NrIHRleHQtY2xyLXByaW1hcnkgZm9udC1ib2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBAYXBwbHkgZm9udC1ub3JtYWwgYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLW5hdmlnYXRpb25fX3Jlc3BvbnNpdmUtY29udGFpbmVyLWNsb3NlIHN2ZyxcbiAgLndwLWJsb2NrLW5hdmlnYXRpb25fX3Jlc3BvbnNpdmUtY29udGFpbmVyLW9wZW4gc3ZnIHtcbiAgICBAYXBwbHkgZmlsbC1jbHItcHJpbWFyeTtcbiAgfVxuXG4gIC8qIE1ha2luZyBhYm91dCBuYXYncyBzdWJtZW51IHJpZ2h0IGFsaWduZWQgKi9cbiAgLnRhLWFib3V0LW5hdiB7XG4gICAgLndwLWJsb2NrLW5hdmlnYXRpb25fX3N1Ym1lbnUtY29udGFpbmVyIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICByaWdodDogLTEwdnc7XG4gICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIEZpeGluZyBSZXNwb25zaXZlbmVzcyBmb3IgdGhlIE1haW4gTWVudSAqL1xuXG4gIC53cC1ibG9jay1uYXZpZ2F0aW9uX19yZXNwb25zaXZlLWNvbnRhaW5lci1vcGVuIHtcbiAgICBAYXBwbHkgZmxleDtcbiAgfVxuXG4gIC53cC1ibG9jay1uYXZpZ2F0aW9uX19yZXNwb25zaXZlLWNvbnRhaW5lci1jbG9zZSB7XG4gICAgQGFwcGx5IHRvcC02O1xuICB9XG5cbiAgLndwLWJsb2NrLW5hdmlnYXRpb25fX3Jlc3BvbnNpdmUtY29udGFpbmVyIHtcbiAgICBAYXBwbHkgaGlkZGVuO1xuICAgICYuaXMtbWVudS1vcGVuIHtcbiAgICAgIEBhcHBseSBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC53cC1ibG9jay1uYXZpZ2F0aW9uX19yZXNwb25zaXZlLWNvbnRhaW5lci1vcGVuIHtcbiAgICAgIEBhcHBseSBoaWRkZW47XG4gICAgfVxuICAgIC53cC1ibG9jay1uYXZpZ2F0aW9uX19yZXNwb25zaXZlLWNvbnRhaW5lciB7XG4gICAgICBAYXBwbHkgYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIudGEtbW9iaWxlLXNlYXJjaCB7XG4gIEBhcHBseSBsZzpoaWRkZW47XG59XG5cbi53cC1ibG9jay1zZWFyY2gge1xuICAud3AtYmxvY2stc2VhcmNoX19idXR0b24ge1xuICAgIEBhcHBseSBtbC0wIGJnLWNsci1zZWNvbmRhcnkgcm91bmRlZC1yIGJveC1ib3JkZXIgYm9yZGVyIGJvcmRlci1jbHItc2Vjb25kYXJ5O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHRoZW1lKHNjcmVlbnMubWQpKSBhbmQgKG1heC13aWR0aDogdGhlbWUoc2NyZWVucy5sZykpIHtcbiAgICAgIEBhcHBseSBweC0yO1xuICAgIH1cbiAgfVxuICAud3AtYmxvY2stc2VhcmNoX19pbnNpZGUtd3JhcHBlciB7XG4gICAgQGFwcGx5IHJvdW5kZWQgYm9yZGVyLW5vbmU7XG4gIH1cbiAgLndwLWJsb2NrLXNlYXJjaF9faW5wdXQge1xuICAgIEBhcHBseSByb3VuZGVkLWwgcC00IGJvcmRlciBib3JkZXItci0wIGJvcmRlci1jbHItc2Vjb25kYXJ5IGJvcmRlci1zb2xpZDtcbiAgfVxufVxuIiwiLyogU2VhcmNoIHJlc3VsdHMgYXJjaGl2ZSAvIEJsb2cgcGFnZSBzdHlsaW5nICovXG4vKiBzZWFyY2guaHRtbCAmIGFyY2hpdmUuaHRtbCAqL1xuLnRhLXBhZ2UtdGl0bGUge1xuICBAYXBwbHkgdGV4dC1jbHItcHJpbWFyeTtcbn1cblxuLnRhLXF1ZXJ5LWxvb3Atd3JhcHBlciB7XG4gIC53cC1ibG9jay1wb3N0IHtcbiAgICBAYXBwbHkgcC1zcC1sZyBiZy13aGl0ZSByb3VuZGVkO1xuICAgIEBleHRlbmQgLnRhLWJvdHRvbS1hbGlnbmVkLWJ1dHRvbi1wYXJlbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBAYXBwbHkgc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC53cC1ibG9jay1wb3N0LXRpdGxlLFxuICAud3AtYmxvY2stcG9zdC10aXRsZSBhIHtcbiAgICBAYXBwbHkgdGV4dC1mcy0zLXhsIG5vLXVuZGVybGluZSB0ZXh0LWNsci1zZWNvbmRhcnkgbXQtNTtcbiAgfVxuXG4gIC53cC1ibG9jay1wb3N0LWF1dGhvcl9fY29udGVudCB7XG4gICAgQGFwcGx5IGZsZXg7XG4gICAgLndwLWJsb2NrLXBvc3QtYXV0aG9yX19ieWxpbmUge1xuICAgICAgQGFwcGx5IHRleHQtZnMteGwgdy1hdXRvIHdoaXRlc3BhY2Utbm93cmFwIHByLTE7XG4gICAgfVxuICB9XG4gIC53cC1wb3N0LWltYWdlIHtcbiAgICBAYXBwbHkgcm91bmRlZDtcbiAgfVxuXG4gIC53cC1ibG9jay1yZWFkLW1vcmUge1xuICAgIEBleHRlbmQgLnRhLWJvdHRvbS1hbGlnbmVkLWJ1dHRvbjtcbiAgfVxufVxuXG4vKiBTaW5nbGUgYmxvZyBwYWdlIC0gIHNpbmdsZS5odG1sICovXG5cbi50YS1zaW5nbGUtcG9zdC1jb250ZW50LXdyYXBwZXIge1xuICAud3AtYmxvY2stcG9zdC10aXRsZSB7XG4gICAgQGFwcGx5IG10LTU7XG4gIH1cbiAgLndwLXBvc3QtaW1hZ2Uge1xuICAgIEBhcHBseSByb3VuZGVkO1xuICB9XG4gIC53cC1ibG9jay1wb3N0LWF1dGhvcl9fY29udGVudCB7XG4gICAgQGFwcGx5IGZsZXg7XG4gICAgLndwLWJsb2NrLXBvc3QtYXV0aG9yX19ieWxpbmUge1xuICAgICAgQGFwcGx5IHRleHQtZnMteGwgdy1hdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLnNpZGViYXIge1xuICAmID4gLndwLWJsb2NrLWdyb3VwIHtcbiAgICBAYXBwbHkgcC1zcC1iYXNlIGJnLWNsci13aGl0ZSByb3VuZGVkO1xuICB9XG59XG4iLCIvKiBCQVNJQyBTVFlMSU5HICovXG5AbGF5ZXIgYmFzZSB7XG4gIGJvZHkge1xuICAgIEBhcHBseSBiZy1jbHItYmFzZTtcbiAgfVxuICBwIHtcbiAgICBAYXBwbHkgdGV4dC1mcy1iYXNlIG1kOnRleHQtZnMteGw7XG4gIH1cbn1cblxuLndwLWJsb2NrLXBvc3QtY29udGVudCBhLFxuLndwLXNpdGUtYmxvY2tzIGEge1xuICBAYXBwbHkgdW5kZXJsaW5lO1xuICAmOmhvdmVyIHtcbiAgICBAYXBwbHkgdGV4dC1jbHItcHJpbWFyeTtcbiAgfVxufVxuLndwLWJsb2NrLXBvc3QtY29udGVudCAudGEtcXVja2xpbmtzLTIgYSB7XG4gICY6aG92ZXIge1xuICAgIEBhcHBseSAhdGV4dC1jbHItd2hpdGU7XG4gIH1cbn1cblxuLndwLWJsb2NrLXBvc3QtY29udGVudCAud3AtZWxlbWVudC1idXR0b24sXG4ud3AtYmxvY2stcG9zdC1jb250ZW50IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBAYXBwbHkgbm8tdW5kZXJsaW5lO1xuICAmOmhvdmVyIHtcbiAgICBAYXBwbHkgdGV4dC1jbHItd2hpdGU7XG4gIH1cbn1cbi50YS1xdWljay1saW5rcyB7XG4gIC53cC1ibG9jay1ncm91cC5pcy1sYXlvdXQtZmxleCB7XG4gICAgPiBwIHtcbiAgICAgIEBhcHBseSBwYi1zcC14cyB0ZXh0LWZzLWJhc2UgbGVhZGluZy02IGZvbnQtZnctYm9sZDtcbiAgICB9XG4gIH1cbn1cblxuLyogbWVudSBzdHlsZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICNzaXRlLW1lbnUtd3JhcHBlciB7XG4gICAgPiB1bCB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDAuODZyZW0sIDEuM3Z3LCAxNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyogbWVudSBzdHlsZSAqL1xuXG4vKiBTaWRlYmFyIFdpZGdldHMgKi9cblxuLnRhLXNpZGViYXItd2lkZ2V0IHtcbiAgQGFwcGx5IHAtNyBiZy13aGl0ZSByb3VuZGVkLWxnO1xufVxuXG4vKiBDdXN0b20gQ2xhc3Nlcy9TdHlsaW5nICovXG4udGEtdGVhbWJsb2NrLW5hbWUge1xuICBmb250LXNpemU6IDEuMTVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gIEBhcHBseSBmb250LWJvbGQ7XG59XG4udGEtdGVhbWJsb2NrLWRldGFpbHMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIEBhcHBseSB0ZXh0LXNtO1xufVxuLnRhLXRlYW0tY29udGFpbmVyIGgzIHtcbiAgLyogZm9udC1zaXplOiAxOXB4OyAqL1xufVxuLnRhLXRlYW0tY29udGFpbmVyIC50YS1zZWN0aW9uLXdyYXBwZXIgcCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG4udGEtcm91bmRlZC1ib3JkZXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuLnRhLXJvdW5kZWQtYm9yZGVyLWRpdiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxMHB4IDEwcHg7XG59XG4uc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMi9jYXJvdXNzZWwtYXJyb3ctbGVmdC5zdmcpO1xufVxuLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTIvY2Fyb3Vzc2VsLWFycm93LXJpZ2h0LnN2Zyk7XG59XG4uc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIEBhcHBseSB3LTEwIGgtMTA7XG4gIHRvcDogNDAlO1xufVxuLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcixcbi5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTc2cHgpIGFuZCAobWF4LXdpZHRoOiAxMTM1cHgpIHtcbiAgI3RvcC1oZWFkZXIgLnRhLWhlYWRlci1sb2dvLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAyMiU7XG4gIH1cbiAgI3RvcC1oZWFkZXIgLnRhLWhlYWRlci1sb2dvIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG59XG4jdGEtc2lkZWJhciB7XG4gIGlucHV0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbiAgLnRhLXRhZ3Mge1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgfVxufVxuXG4udGEtaW1hZ2UtdGV4dC1ibG9jay13cmFwcGVyIGgyIHtcbiAgQGFwcGx5IG1iLTM7XG59XG5cbi50YS1pdGVtLXNwYWNpbmdzIHAsXG4udGEtaW1hZ2UtdGV4dC1ibG9jay13cmFwcGVyIHAge1xuICBAYXBwbHkgbWItMztcbn1cblxuLnRhLWltYWdlLXRleHQtYmxvY2std3JhcHBlciBwIHtcbiAgQGFwcGx5IHRleHQtbGc7XG59XG5cbi50YS1zaWRlYmFyLXNlYXJjaCB7XG4gIEBhcHBseSBoaWRkZW4gbGc6YmxvY2s7XG59XG5cbi50YS1tb2JpbGUtc2VhcmNoIHtcbiAgQGFwcGx5IGJsb2NrIGxnOmhpZGRlbjtcbn1cblxuLyogU3RhZmYgcGFnZSAqL1xuXG4udGEtdGVhbS1tZW1iZXItd3JhcHBlciB7XG4gIEBhcHBseSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gdy1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtbGc7XG5cbiAgaW1nIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG4gIH1cblxuICAudGEtdGVhbS1tZW1iZXItd3JhcHBlci1pbm5lciB7XG4gICAgQGFwcGx5IGZsZXggZmxleC1jb2wgc206ZmxleC1yb3cgdy1mdWxsIGl0ZW1zLXN0YXJ0IHNtOml0ZW1zLXN0YXJ0IHNlbGYtc3RhcnQgbWF4LXNtOnB4LTcgbWF4LXNtOnB5LTc7XG4gIH1cblxuICAudGEtdGVhbS1tZW1iZXItYXZhdGFyIHtcbiAgICBAYXBwbHkgdy1mdWxsIG1heC1sZzptYXgtdy1ub25lIG1heC1zbTp3LTQwIG1heC1tZDp3LTQ0IG1kOnctNTI7XG4gIH1cbn1cblxuLyogTG90dGllIENvbnRhaW5lciAqL1xuXG4ud3Atc2l0ZS1ibG9ja3MgLnRhLWxvdHRpZS1jb250YWluZXIge1xuICBAYXBwbHkgbXQtMDtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC0wKSAhaW1wb3J0YW50O1xufVxuXG4vKiBIZWFkZXJzICovXG5cbi50YS1oZWFkZXItMSB7XG4gIEBhcHBseSBiZy1jbHItd2hpdGUgcHktNCAgbGc6c2hhZG93LXNoLTAxO1xuICAud3AtYmxvY2stc2l0ZS1sb2dvIC5jdXN0b20tbG9nbyB7XG4gICAgQGFwcGx5IHctNDAgIW1heC1oLVs4NXB4XSBsZzp3LTUyO1xuICB9XG59XG5cbmJvZHkgLndwLXNpdGUtYmxvY2tzIC50YS1oZWFkZXItMi13cmFwcGVyLFxuYm9keSAud3Atc2l0ZS1ibG9ja3MgLnRhLWhlYWRlci0xIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xufVxuXG5ib2R5IC53cC1ibG9jay1ncm91cC50YS1oZWFkZXItMiB7XG4gIEBhcHBseSBoaWRkZW4gbGc6ZmxleDtcbn1cbi50YS1oZWFkZXItMixcbi50YS1oZWFkZXItMi13cmFwcGVyIHtcbiAgQGFwcGx5IGhpZGRlbiBsZzpibG9jaztcbn1cblxuLyogRmVhdHVyZWQgSXRlbXMgKi9cbmJvZHkgLnRhLWZlYXR1cmVkLWl0ZW1zLndwLWJsb2NrLWdyb3VwIHtcbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gIH1cbiAgLmlzLWxheW91dC1mbG93ID4gKiArICoge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgfVxuICAud3AtYmxvY2stY29sdW1ucyB7XG4gICAgZ2FwOiAwO1xuICB9XG4gIGg0IHtcbiAgICBAYXBwbHkgbXQtMCB0ZXh0LWxlZnQgbGVhZGluZy02IHBsLTUgYmctW3VybChcIi4uL2ltYWdlcy9idWxsZXQtaWNvbi5zdmdcIildIGJnLVtsZWZ0X3RvcF8wLjI1cmVtXSBiZy1uby1yZXBlYXQ7XG4gIH1cblxuICAudGEtZmxleC1maXgtZmVhdHVyZWQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiB0aGVtZShzY3JlZW5zLm1kKSkgYW5kIChtYXgtd2lkdGg6IHRoZW1lKHNjcmVlbnMubGcpKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgICAgIC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgICBmbGV4OiA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZmlndXJlLndwLWJsb2NrLWltYWdlIHtcbiAgICBAYXBwbHkgaGlkZGVuO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogdGhlbWUoc2NyZWVucy5sZykpIHtcbiAgICAmID4gKiArICoge1xuICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC14bCk7XG4gICAgfVxuICAgIC5pcy1sYXlvdXQtZmxvdyA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtYmFzZSk7XG4gICAgfVxuICAgIC53cC1ibG9jay1jb2x1bW5zIHtcbiAgICAgIGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtYmFzZSk7XG4gICAgfVxuICAgIGZpZ3VyZS53cC1ibG9jay1pbWFnZSB7XG4gICAgICBAYXBwbHkgdGFibGU7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgIEBhcHBseSB0ZXh0LWZzLWxnIHRleHQtY2VudGVyIGJnLW5vbmUgbXQtNSBwbC0wO1xuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PVRvIGJlIHJlbW92ZWQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogU3R1ZGVudCBTdWNjZXNzIFN0b3JpZXMgLyBTaWRlYmFyIEJsb2cgV2lkZ2V0ICAqL1xuXG4vKiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuLnRhLXNpZGViYXItYmxvZy13aWRnZXQge1xuICBAYXBwbHkgZmxleCBmbGV4LWNvbCBzcGFjZS15LTY7XG59XG5cbi53cC1ibG9jay10Ym9uZXMtcC1wb3N0LWxpc3QsXG4udGEtc2lkZWJhci1ibG9nLXdpZGdldCB7XG4gIC50YS1zaWRlYmFyLWJsb2ctd2lkZ2V0IHtcbiAgICBAYXBwbHkgZmxleCBmbGV4LWNvbCBzcGFjZS15LTY7XG4gIH1cblxuICAudGEtc2lkZWJhci1ibG9nLXdpZGdldF9fYmxvZy1pdGVtIHtcbiAgICBAYXBwbHkgZmxleCBmbGV4LWNvbCBzcGFjZS15LTMgcGItNiBib3JkZXItMCBib3JkZXItc29saWQgYm9yZGVyLWIgYm9yZGVyLWNsci1zZWNvbmRhcnkgYm9yZGVyLW9wYWNpdHktMzAgbGFzdDpib3JkZXItMDtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGFwcGx5IHBiLTA7XG4gICAgfVxuICAgIGEge1xuICAgICAgQGFwcGx5IG5vLXVuZGVybGluZTtcbiAgICB9XG4gICAgLnRhLXBvc3QtdGl0bGUge1xuICAgICAgQGFwcGx5IHRleHQtYmFzZSBmb250LWJvbGQ7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgY29sb3I6IGdyZWVuICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC50YS1hdXRob3Ige1xuICAgICAgQGFwcGx5IHRleHQtYmFzZSBmb250LWJvbGQ7XG4gICAgfVxuICAgIC50YS1wb3N0LWRhdGUge1xuICAgICAgQGFwcGx5IHRleHQtc207XG4gICAgfVxuICAgIC50YS1uYW1lLWluaXRpYWxzIHtcbiAgICAgIGEge1xuICAgICAgICBAYXBwbHkgcm91bmRlZC1mdWxsIGZsZXggbGVhZGluZy00IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy1jbHItc2Vjb25kYXJ5ICB1cHBlcmNhc2Ugdy0xMiBoLTEyIHRleHQtd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50YS1jYXRlZ29yeS1saXN0aW5nIHtcbiAgQGFwcGx5IG1iLTAgYmxvY2sgZ2FwLTE7XG4gIC50YS10YWdzLFxuICBbcmVsPVwidGFnXCJdLFxuICBhIHtcbiAgICBAZXh0ZW5kIC50YS10YWdzO1xuICAgIEBhcHBseSBpbmxpbmUtYmxvY2sgbWItMSBtci0xO1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3NnB4KSB7XG4gICAgICBAYXBwbHkgbm8tdW5kZXJsaW5lIGJnLWNsci1wcmltYXJ5ICB0ZXh0LXdoaXRlIHRleHQteHM7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgQGFwcGx5IHRleHQtd2hpdGU7XG4gICAgfVxuICB9XG4gIC53cC1ibG9jay1wb3N0LXRlcm1zX19zZXBhcmF0b3Ige1xuICAgIEBhcHBseSBoaWRkZW47XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT1UbyBiZSByZW1vdmVkIGVuZHM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVmlkZW8gUG9wdXAgKi9cbi53cHpvb20tdmlkZW8tcG9wdXAtYmxvY2tfaWNvbiB7XG4gIHBhdGgge1xuICAgIEBhcHBseSBmaWxsLXdoaXRlO1xuICB9XG59XG5cbi8qIEZvb3RlciBTdHlsaW5nICovXG4udGEtZm9vdGVyLWNvbnRhaW5lci5pcy1sYXlvdXQtY29uc3RyYWluZWQge1xuICBAYXBwbHkgcC1zcC1iYXNlIG10LTEwO1xuXG4gIGEge1xuICAgIEBhcHBseSBuby11bmRlcmxpbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBAYXBwbHkgdGV4dC1jbHItd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJiA+IC53cC1ibG9jay1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgQGFwcGx5IG10LXNwLWxnO1xuICB9XG5cbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDNyZW07XG4gIH1cblxuICAudGEtZm9vdGVyX19ib3R0b20tdGV4dCB7XG4gICAgQGFwcGx5IHRleHQtZnMtc207XG4gICAgcCB7XG4gICAgICBAYXBwbHkgdGV4dC1mcy1iYXNlO1xuICAgIH1cbiAgfVxuICAudGEtZm9vdGVyX19tYWluLW5hdiB7XG4gICAgLndwLWJsb2NrLW5hdmlnYXRpb24taXRlbV9fY29udGVudCB7XG4gICAgICBAYXBwbHkgdGV4dC1mcy1sZyBmb250LWZ3LWJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLndwLWJsb2NrLWltYWdlIGltZyB7XG4gICAgQGFwcGx5IG14LWF1dG8gbWQ6bXgtMDtcbiAgfVxuXG4gIC50YS1mb290ZXItbmF2LTEsXG4gIC50YS1mb290ZXItbmF2LTIge1xuICAgIC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuICAgICAgQGFwcGx5IGZsZXggZmxleC1jb2wgZ2FwLTIgbWQ6ZmxleC1yb3cgbWQ6Z2FwLXNwLWJhc2U7XG4gICAgfVxuICB9XG4gIC50YS1mb290ZXItc29jaWFsLWljb25zIHtcbiAgfVxufVxuXG4vKiBwYWdlIGNvbnRlbnQgd3JhcHBlciBzdHlsaW5nKi9cblxuZGl2LnRhLWNvbnRlbnQtd3JhcHBlciB7XG4gIEBhcHBseSBtYXgtbGc6IWZsZXgtd3JhcDtcbiAgZGl2LnRhLWxlZnQtY29udGVudCB7XG4gICAgQGFwcGx5IG1heC1sZzohYmFzaXMtZnVsbDtcbiAgfVxuICBkaXYudGEtcmlnaHQtY29udGVudCB7XG4gICAgQGFwcGx5IG1heC1sZzohYmFzaXMtZnVsbDtcbiAgfVxufVxuLndwLXNpdGUtYmxvY2tzIHtcbiAgPiBkaXYud3AtYmxvY2stZ3JvdXAuYWxpZ25mdWxsIHtcbiAgICAmOmhhcygudGEtY29udGVudC13cmFwcGVyKSB7XG4gICAgICAvKiBAYXBwbHkgbWF4LW1kOnB4LXNwLTAwOyAqL1xuICAgIH1cbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogdGhlbWUoc2NyZWVucy5tZCkpIHtcbiAgLndwLWJsb2NrLWdyb3VwLnNpZGViYXIge1xuICAgID4gZGl2LndwLWJsb2NrLWdyb3VwIHtcbiAgICAgIEBhcHBseSByb3VuZGVkLW5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0td3AtLXN0eWxlLS1yb290LS1wYWRkaW5nLXJpZ2h0KSAqIC0xKSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0td3AtLXN0eWxlLS1yb290LS1wYWRkaW5nLWxlZnQpICogLTEpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qIHBhZ2UgY29udGVudCB3cmFwcGVyIHN0eWxpbmcqL1xuXG4vKiBjbGFzcyBwYWdlICAqL1xuLyogLnRhLWNsYXNzLWxlZnQtY29udGVudHtcbiAgLmlzLWxheW91dC1mbGV4e1xuICAgIGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtYmFzZSk7XG4gIH1cbn0gKi9cbi8qIGNsYXNzIHBhZ2UgICovXG5cbi8qIFN0YWZmIHBhZ2UgKi9cblxuLnRhLXN0YWZmLWNhcmQge1xuICBAYXBwbHkgdGV4dC1mcy1zbSBwLTcgcm91bmRlZCBiZy1jbHItd2hpdGUgbWQ6cC0wO1xuICBAYXBwbHkgbWQ6bWF4LWxnOiFmbGV4LW5vd3JhcDtcbiAgJi5pcy1sYXlvdXQtZmxleCB7XG4gICAgZ2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC1zbSk7XG4gICAgQGFwcGx5IG1kOm1heC1sZzpnYXAtc3AtYmFzZTtcbiAgfVxuXG4gIHAge1xuICAgIEBhcHBseSBtYXgtbGc6dGV4dC1mcy1zbSB0ZXh0LXhzIGxlYWRpbmctbGgtdGlnaHQ7XG4gIH1cbiAgJiAqICsgKiB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC14cyk7XG4gIH1cbiAgLnRhLXN0YWZmLWNhcmRfX2luZm8td3JhcHBlciB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC0wKTtcbiAgICBAYXBwbHkgcC0zIHBsLTAgc2VsZi1zdGFydDtcbiAgICAmICogKyAqIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AteHMpO1xuICAgIH1cbiAgfVxuICAmX19uYW1lIHtcbiAgICBAYXBwbHkgZm9udC1mdy1ib2xkIHRleHQtY2xyLWJsYWNrIHRleHQtZnMteGwgbWF4LW1kOnRleHQtZnMtMi14bDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiB0aGVtZShzY3JlZW5zLmxnKSkge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS4yNXJlbSk7XG4gICAgfVxuICB9XG4gICZfX3RpdGxlIHtcbiAgfVxuICAmX19lbWFpbCB7XG4gICAgQGFwcGx5IHRleHQtY2xyLXByaW1hcnk7XG4gICAgYSB7XG4gICAgICBAYXBwbHkgdGV4dC1jbHItcHJpbWFyeTtcbiAgICB9XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC0wKTtcbiAgfVxuICBpbWcge1xuICAgIEBhcHBseSByb3VuZGVkIG1kOnJvdW5kZWQtdGwgbWQ6cm91bmRlZC1ibCAgbWQ6cm91bmRlZC10ci1ub25lIG1kOnJvdW5kZWQtYnItbm9uZSBsZzptYXgteGw6cm91bmRlZCB3LTQ0IG1kOm1heC1sZzp3LWZ1bGwgeGw6dy01MjtcbiAgICAvKiBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiB0aGVtZShzY3JlZW5zLm1kKSkge1xuICAgICAgd2lkdGg6IDE1MHB4O1xuICAgIH0gKi9cbiAgfVxuICBkaXYud3AtYmxvY2stY29sdW1uIHtcbiAgICBAYXBwbHkgYmFzaXMtZnVsbCBsZzpiYXNpcy0xLzI7XG4gIH1cbiAgPiBkaXYuaXMtbGF5b3V0LWZsb3cud3AtYmxvY2stY29sdW1uIHtcbiAgICAmOmhhcygud3AtYmxvY2staW1hZ2UpIHtcbiAgICAgIEBhcHBseSBsZzptYXgteGw6cC0zIGxnOm1heC14bDpwci1zcC0wMDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogdGhlbWUoc2NyZWVucy5tZCkpIHtcbiAgICBAYXBwbHkgcm91bmRlZC1ub25lO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS13cC0tc3R5bGUtLXJvb3QtLXBhZGRpbmctcmlnaHQpICogLTEpICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0td3AtLXN0eWxlLS1yb290LS1wYWRkaW5nLWxlZnQpICogLTEpICFpbXBvcnRhbnQ7XG4gIH1cbn1cbmRpdi50YS1zdGFmZi1ibG9jayB7XG4gIC53cC1ibG9jay1jb2x1bW5zIHtcbiAgICA+IC53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgQGFwcGx5IG1heC1sZzohYmFzaXMtZnVsbDtcbiAgICB9XG4gIH1cbiAgPiBkaXYud3AtYmxvY2stY29sdW1ucyB7XG4gICAgQGFwcGx5ICFmbGV4LXdyYXAgbGc6IWZsZXgtbm93cmFwO1xuICB9XG4gIC50YS1zdGFmZi1jYXJkIHtcbiAgICA+IGRpdi53cC1ibG9jay1jb2x1bW4ge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBhcHBseSBtZDptYXgtbGc6IWJhc2lzLTEvMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRhLXN0YWZmLWJsb2NrLWNvbHVtbnMge1xuICAgID4gZGl2LmlzLWxheW91dC1mbG93LndwLWJsb2NrLWNvbHVtbiB7XG4gICAgICBAYXBwbHkgcm91bmRlZDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogdGhlbWUoc2NyZWVucy5sZykpIHtcbiAgICBoMy50YS1zdGFmZi1ibG9jay1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtYmFzZSk7XG4gICAgfVxuICAgIC50YS1zdGFmZi1ibG9jay1jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtYmFzZSk7XG4gICAgfVxuICAgIC50YS1zdGFmZi1ibG9jay1jb2x1bW5zLnRhLXN0YWZmLWJsb2NrLWhhcy1lbXB0eS1jb2x1bW4ge1xuICAgICAgZ2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC0wKTtcbiAgICB9XG4gIH1cbn1cbi8qIHNlcnZpY2VzIGNvbHVtbnMgKi9cbi50YS1zZXJ2aWNlcy1jb2x1bW5zLmlzLWxheW91dC1mbGV4IHtcbiAgZ2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC1iYXNlKTtcbn1cbi50YS1zZXJ2aWNlcy1jb2x1bW5zLnRhLXNlcnZpY2VzLWNvbHVtbnMtd2l0aC1ibGFuay1jb2wge1xuICBnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLTApO1xufVxuLnRhLXNlcnZpY2VzLWNvbHVtbnMtd2l0aG91dC1idG4ge1xuICAudGEtaW5mby1ibG9jay1zbWFsbCB7XG4gICAgQGFwcGx5IG1heC1tZDohcGItc3AtYmFzZSAhcGItc3AtaW5uZXI7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gIC50YS1zZXJ2aWNlcy1jb2x1bW5zIHtcbiAgICBAYXBwbHkgIWZsZXgtd3JhcDtcbiAgICAuaXMtbGF5b3V0LWZsb3cud3AtYmxvY2stY29sdW1uIHtcbiAgICAgIEBhcHBseSAhYmFzaXMtZnVsbDtcbiAgICB9XG4gIH1cbn1cblxuLyogdGEtc2VydmljZXMtY29sdW1ucyAqL1xuXG4vKiAgKi9cblxuLyogKi9cblxuLyogRmVhdHVyZWQgQm94ICovXG5cbmJvZHkgLnRhLWZlYXR1cmVkLWJveCB7XG4gIEBhcHBseSBiZy1jbHItd2hpdGUgcm91bmRlZCBzaGFkb3ctc2gtMDEgbWF4LWxnOnAtc3AtYmFzZSBwLTEwICFwYi0wIHRleHQtY2xyLXNlY29uZGFyeTtcbiAgLndwLWJsb2NrLWJ1dHRvbiB7XG4gICAgJjpoYXMoLndwLWJsb2NrLWJ1dHRvbl9fbGluaykge1xuICAgICAgQGFwcGx5IG14LWF1dG8gbWQ6bXgtMDtcbiAgICB9XG4gIH1cbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgQGFwcGx5IHB4LTE0IG5vLXVuZGVybGluZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBhcHBseSB0ZXh0LXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbC0xIHtcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICBAYXBwbHkgdGV4dC1mcy00LXhsIHRleHQtY2xyLXNlY29uZGFyeTtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS43NXJlbSwgMi41dncsIDIuMjVyZW0pO1xuICAgIH1cbiAgfVxuICAmX19jb2wtMiB7XG4gICAgdWwge1xuICAgICAgJiAqICsgKiB7XG4gICAgICAgIEBhcHBseSBtdC0zO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICAvKiBAYXBwbHkgdGV4dC1mcy14bDsgKi9cbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAyLjV2dywgMS4yNXJlbSk7XG4gICAgICAgIEBhcHBseSB0ZXh0LWxlZnQgbGVhZGluZy03IHBsLTUgYmctW3VybChcIi4uL2ltYWdlcy9idWxsZXQtaWNvbi5zdmdcIildIGJnLVtsZWZ0X3RvcF8wLjVyZW1dIGJnLW5vLXJlcGVhdDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRhLWZlYXR1cmVkLWJveC11bCB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLXNtKTtcbiAgICB9XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAyLjV2dywgMS4yNXJlbSk7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogdGhlbWUoc2NyZWVucy5sZykpIHtcbiAgICBnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLWJhc2UpO1xuICB9XG4gIC50YS1mZWF0dXJlZC1ib3hfX2NvbC0yLXVsIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLXNtKTtcbiAgfVxuICAmOm5vdCg6aGFzKC53cC1ibG9jay1idXR0b25zKSkge1xuICAgIEBhcHBseSAhcGItc3AtYmFzZSBsZzohcC0xMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogdGhlbWUoc2NyZWVucy5sZykpIHtcbiAgYm9keSAudGEtZmVhdHVyZWQtYm94IHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLWJhc2UpO1xuICB9XG59XG5cbi8qIFRleHQgT3ZlciBJbWFnZSBTZWN0aW9uICovXG5ib2R5IC50YS10ZXh0LW92ZXItaW1hZ2Uud3AtYmxvY2stY292ZXIge1xuICAmLmlzLXN0eWxlLWJvdHRvbS1idXR0b24ge1xuICAgIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcbiAgICAgIEBleHRlbmQgLnRhLWJvdHRvbS1hbGlnbmVkLWJ1dHRvbi1wYXJlbnQ7XG4gICAgICBAYXBwbHkgIXBiLTIwO1xuICAgICAgJiA+IC53cC1ibG9jay1ncm91cCB7XG4gICAgICAgIEBhcHBseSBzdGF0aWM7XG4gICAgICB9XG4gICAgfVxuICAgIC53cC1ibG9jay1idXR0b25zIHtcbiAgICAgIEBleHRlbmQgLnRhLWJvdHRvbS1hbGlnbmVkLWJ1dHRvbjtcbiAgICB9XG4gIH1cblxuICAmLndwLWJsb2NrLWNvdmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xuICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcbiAgICBwYWRkaW5nOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIEBhcHBseSBzaGFkb3ctc2gtMDEgcC1zcC14bCByb3VuZGVkIHRleHQtZnMtYmFzZSB0ZXh0LWNsci1zZWNvbmRhcnkgYmctY2xyLXdoaXRlO1xuICAgIC53cC1ibG9jay1ncm91cCA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3Atc20pO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDEuNzVyZW0sIDJ2dywgMi4yNXJlbSk7XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAydncsIDEuMjVyZW0pO1xuICAgIH1cbiAgfVxuICAud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogdW5zZXQ7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgcmlnaHQgIWltcG9ydGFudDtcbiAgICBAYXBwbHkgcm91bmRlZDtcbiAgfVxuICAud3AtYmxvY2stY292ZXJfX2JhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAud3AtYmxvY2stY292ZXJfX2ltYWdlLWJhY2tncm91bmQge1xuICAgIEBhcHBseSByb3VuZGVkO1xuICB9XG5cbiAgLyogTGVmdCBJbWFnZSAqL1xuICAmLnRhLXRleHQtb3Zlci1pbWFnZV9fbGVmdCB7XG4gICAgQGFwcGx5IGp1c3RpZnktZW5kO1xuICAgIC53cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZCB7XG4gICAgICByaWdodDogdW5zZXQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgbGVmdCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiB0aGVtZShzY3JlZW5zLm1kKSkge1xuICAud3AtYmxvY2stY292ZXIudGEtdGV4dC1vdmVyLWltYWdlIHtcbiAgICBAYXBwbHkgZmxleC1jb2wgIXB5LXNwLTAwO1xuICAgIGltZy53cC1ibG9jay1jb3Zlcl9faW1hZ2UtYmFja2dyb3VuZCB7XG4gICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICBAYXBwbHkgIXctZnVsbCByb3VuZGVkLXQgIXJvdW5kZWQtYi1ub25lO1xuICAgIH1cbiAgICAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgICBAYXBwbHkgbXgtYXV0byAhbWF4LXctZnVsbCAhcC1zcC1iYXNlICFyb3VuZGVkLXQtbm9uZTtcbiAgICAgICY6aGFzKC53cC1ibG9jay1idXR0b25zKSB7XG4gICAgICAgIEBhcHBseSAhcGItc3AtMDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKiBJbmZvIGJsb2NrIFNtYWxsIC0gQmVzdCBmaXR0ZWQgaW50byAzIGNvbCBsYXlvdXQgKi9cblxuYm9keSAud3AtYmxvY2stY29sdW1uIC50YS1pbmZvLWJsb2NrLXNtYWxsIHtcbiAgQGFwcGx5IGgtZnVsbDtcbn1cblxuYm9keSAudGEtaW5mby1ibG9jay1zbWFsbCB7XG4gIEBhcHBseSBwLXNwLWJhc2UgbWQ6cC1zcC1pbm5lciAhcGItMCBiZy1jbHItd2hpdGUgdGV4dC1jZW50ZXIgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW4gcm91bmRlZDtcblxuICAmLnRhLWluZm8tYmxvY2stc21hbGwtY2Fyb3VzZWwge1xuICAgIEBhcHBseSBwLTAgIXBiLTE2IGp1c3RpZnktc3RhcnQgcmVsYXRpdmU7XG4gICAgLndwLWJsb2NrLWltYWdlIGltZyB7XG4gICAgICBAYXBwbHkgcm91bmRlZC10bCByb3VuZGVkLXRyO1xuICAgIH1cbiAgICAudGEtaW5mby1ib3gtY2Fyb3VzZWwtdGV4dC13cmFwcGVyIHtcbiAgICAgIEBhcHBseSBzdGF0aWMgcC01IHBiLTAgbS0wIHctZnVsbDtcbiAgICB9XG4gICAgLndwLWJsb2NrLWJ1dHRvbnMge1xuICAgICAgQGV4dGVuZCAudGEtYm90dG9tLWFsaWduZWQtYnV0dG9uO1xuICAgIH1cbiAgfVxuXG4gICYgLnRhLWluZm8tYmxvY2stc21hbGxfX3RpdGxlIHtcbiAgICBAYXBwbHkgdGV4dC1sZWZ0ICFtLTAgdGV4dC1jbHItc2Vjb25kYXJ5O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4yNXJlbSwgMnZ3LCAxLjVyZW0pO1xuICB9XG4gICYgLnRhLWluZm8tYmxvY2stc21hbGxfX3RleHQge1xuICAgIEBhcHBseSB0ZXh0LWxlZnQgbWItYXV0byB0ZXh0LWNsci1zZWNvbmRhcnk7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAydncsIDEuMjVyZW0pO1xuICB9XG4gIC53cC1ibG9jay1idXR0b25zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICB1bCB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zcC1iYXNlKTtcbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDIuNXZ3LCAxLjI1cmVtKTtcbiAgICAgIEBhcHBseSB0ZXh0LWxlZnQgdGV4dC1jbHItc2Vjb25kYXJ5IGxlYWRpbmctNyBwbC01IGJnLVt1cmwoXCIuLi9pbWFnZXMvYnVsbGV0LWljb24uc3ZnXCIpXSBiZy1bbGVmdF90b3BfMC41cmVtXSBiZy1uby1yZXBlYXQ7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiB0aGVtZShzY3JlZW5zLm1kKSkge1xuICAudGEtaW5mby1ibG9jay1zbWFsbC50YS1pbmZvLWJsb2NrLXNtYWxsLWdyb3VwIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNwLWJhc2UpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVGVtcGxhdGUgSGVhZGVyIGZvb3RlciAqL1xuXG4ud3AtYmxvY2stcG9zdC1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogQ2Fyb3VzZWwgY29tbW9uICovXG4vKiBcbmNvbnN0IGltYWdlQ2xhc3MgPSBzaG93SW1hZ2UgPyBcIlwiIDogXCJ0YS1pbWctaGlkZGVuXCI7XG5jb25zdCB3cmFwcGVyQ2xhc3MgPSBzaG93SW1hZ2UgPyBcIlwiIDogXCJ0YS13cmFwcGVyLXJvdW5kZWQtYm9yZGVyXCI7XG5jb25zdCBjdGFDbGFzcyA9IHNob3dDVEEgPyBcIlwiIDogXCJ0YS1jdGEtaGlkZGVuXCI7ICovXG5cbi50YS1jYXJvdXNlbC1jb250YWluZXIge1xuICAudGEtY2Fyb3VzZWwtdGV4dC13cmFwcGVyIHtcbiAgICBAYXBwbHkgdy1mdWxsO1xuICB9XG4gICYudGEtaW1nLWhpZGRlbiB7XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICYudGEtd3JhcHBlci1yb3VuZGVkLWJvcmRlciB7XG4gICAgLnRhLWNhcm91c2VsLXRleHQtd3JhcHBlciB7XG4gICAgICBAYXBwbHkgcm91bmRlZC10O1xuICAgIH1cbiAgfVxuICAmLnRhLWN0YS1oaWRkZW4ge1xuICAgIC50YS1jYXJvdXNlbF9fYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC50YS1jYXJvdXNlbC10ZXh0LXdyYXBwZXIge1xuICAgICAgQGFwcGx5IHBiLTQ7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IHRoZW1lKHNjcmVlbnMuc20pKSB7XG4gIGJvZHkgLnRhLWNhcm91c2VsLWNvbnRhaW5lci53cC1ibG9jay1ncm91cCxcbiAgYm9keSAudGEtY2Fyb3VzZWwtY29udGFpbmVyLndwLWJsb2NrLXRib25lcy1wLWNhcm91c2VsLXNsaWRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXdwLS1zdHlsZS0tcm9vdC0tcGFkZGluZy1yaWdodCkgKiAtMSkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS13cC0tc3R5bGUtLXJvb3QtLXBhZGRpbmctbGVmdCkgKiAtMSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5ib2R5IC50YS1jYXJvdXNlbC1jb250YWluZXIud3AtYmxvY2stZ3JvdXAsXG4ud3AtYmxvY2stdGJvbmVzLXAtY2Fyb3VzZWwtc2xpZGVyIHtcbiAgLnRhLWNhcm91c2VsX19idXR0b24ge1xuICAgIEBhcHBseSBuby11bmRlcmxpbmVcdCBpbmxpbmUtYmxvY2sgdGV4dC1jZW50ZXIgIG10LTcganVzdGlmeS1jZW50ZXIgbXgtYXV0byB0ZXh0LXdoaXRlIGJnLWNsci1wcmltYXJ5IHAtMiBweC00IGxnOnB4LTY7XG4gICAgJjpob3ZlciB7XG4gICAgICBAYXBwbHkgdGV4dC13aGl0ZTtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogdGhlbWUoc2NyZWVucy5sZykpIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAgIEBhcHBseSBweC0zO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBhcHBseSB0ZXh0LXdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTdHlsaW5nIGZvciBib3R0b20gYWxpZ25lZCBidXR0b24gKi9cblxuLnRhLWJvdHRvbS1hbGlnbmVkLWJ1dHRvbi1wYXJlbnQge1xuICBAYXBwbHkgcmVsYXRpdmUgcGItMjA7XG59XG5cbi50YS1ib3R0b20tYWxpZ25lZC1idXR0b24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcblxuICBAYXBwbHkgYWJzb2x1dGUgIW0tMCB0cmFuc2Zvcm0gLXRyYW5zbGF0ZS14LTIvNCBsZWZ0LTEvMiBib3R0b20tMCBuby11bmRlcmxpbmVcdCBpbmxpbmUtYmxvY2sgdGV4dC1jZW50ZXIgIG10LTcganVzdGlmeS1jZW50ZXIgbXgtYXV0byB0ZXh0LXdoaXRlIGJnLWNsci1wcmltYXJ5IHAtMiBweC00IGxnOnB4LTY7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgJjpob3ZlciB7XG4gICAgQGFwcGx5IHRleHQtd2hpdGU7XG4gIH1cblxuICAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHRoZW1lKHNjcmVlbnMubGcpKSBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgQGFwcGx5IHB4LTM7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgQGFwcGx5IHRleHQtd2hpdGU7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBAYXBwbHkgYmctY2xyLXByaW1hcnk7XG59XG5cbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLFxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbCxcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24ge1xuICBib3R0b206IGF1dG87XG59XG5cbi5zd2lwZXIgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMy41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG59XG5cbi8qIENhcm91c2VsIFN0eWxpbmcgKi9cblxuLmhhcy1nbG9iYWwtcGFkZGluZ1xuICA6d2hlcmUoLmhhcy1nbG9iYWwtcGFkZGluZylcbiAgPiAuYWxpZ25mdWxsLnRhLWNhcm91c2VsLWNvbnRhaW5lciB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IHRoZW1lKHNjcmVlbnMubWQpKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXdwLS1zdHlsZS0tcm9vdC0tcGFkZGluZy1yaWdodCkgKiAtMSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0td3AtLXN0eWxlLS1yb290LS1wYWRkaW5nLWxlZnQpICogLTEpO1xuICB9XG59XG5cbi5zZmFzLWNhcm91c2VsIC5zd2lwZXItc2xpZGUgaDQge1xuICBAYXBwbHkgdGV4dC14bCBmb250LWJvbGQgbGVhZGluZy02IG1iLTMgdGV4dC1sZWZ0IHRleHQtY2xyLWJsYWNrO1xufVxuXG4uc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLXNsaWRlIHAge1xuICBAYXBwbHkgdGV4dC1mcy1jdXN0b20gbGVhZGluZy01IHRleHQtbGVmdDtcbn1cblxuLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuXG4uc2Zhcy1jYXJvdXNlbCAuc3dpcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLXNsaWRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIG1hcmdpbjogMHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgb3BhY2l0eTogMC41O1xuICBpbWcge1xuICAgIEBhcHBseSByb3VuZGVkLXQ7XG4gICAgJi5pbWFnZS1oaWRkZW4ge1xuICAgICAgQGFwcGx5IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cbi5zZmFzLWNhcm91c2VsIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tcHJldixcbi5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAvKiBAYXBwbHkgdGV4dC13aGl0ZSBiZy1jbHItcHJpbWFyeSByb3VuZGVkLWZ1bGwgdy0xMCBoLTEwOyAqL1xufVxuLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcixcbi5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICAvKiBAYXBwbHkgdGV4dC13aGl0ZSB0ZXh0LXNtIGZvbnQtYm9sZDsgKi9cbn1cbi5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICByaWdodDogY2xhbXAoNiUsIDguNXZ3LCAyOCUpO1xufVxuLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGxlZnQ6IGNsYW1wKDYlLCA4LjV2dywgMjglKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogdGhlbWUoc2NyZWVucy54cykpIHtcbiAgLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgcmlnaHQ6IGNsYW1wKDYlLCAxMC41dncsIDI4JSk7XG4gIH1cbiAgLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgbGVmdDogY2xhbXAoNiUsIDEwLjV2dywgMjglKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiB0aGVtZShzY3JlZW5zLnNtKSkge1xuICAuc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICByaWdodDogY2xhbXAoNiUsIDExLjV2dywgMjglKTtcbiAgfVxuICAuc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBsZWZ0OiBjbGFtcCg2JSwgMTEuNXZ3LCAyOCUpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHRoZW1lKHNjcmVlbnMubWQpKSB7XG4gIC5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIHJpZ2h0OiBjbGFtcCg2JSwgNi41dncsIDI4JSk7XG4gIH1cbiAgLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgbGVmdDogY2xhbXAoNiUsIDYuNXZ3LCAyOCUpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHRoZW1lKHNjcmVlbnMubGcpKSB7XG4gIC5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIHJpZ2h0OiBjbGFtcCg2JSwgMTh2dywgMjguNSUpO1xuICB9XG4gIC5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGxlZnQ6IGNsYW1wKDYlLCAxOHZ3LCAyOC41JSk7XG4gIH1cbn1cblxuLyogXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiB0aGVtZShzY3JlZW5zLmxnKSkge1xuICAuc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICByaWdodDogMTAlO1xuICB9XG4gIC5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGxlZnQ6IDEwJTtcbiAgfVxuICAuc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLXNsaWRlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogdGhlbWUoc2NyZWVucy5tZCkpIHtcbiAgLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgcmlnaHQ6IDIzJTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiB0aGVtZShzY3JlZW5zLnhzKSkge1xuICAgICAgcmlnaHQ6IDguNSU7XG4gICAgfVxuICB9XG4gIC5zZmFzLWNhcm91c2VsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIGxlZnQ6IDIzJTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiB0aGVtZShzY3JlZW5zLnhzKSkge1xuICAgICAgbGVmdDogOC41JTtcbiAgICB9XG4gIH1cbn0gKi9cblxuLyogQVJST1dTICovXG4uc2Zhcy1jYXJvdXNlbCAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnNmYXMtY2Fyb3VzZWwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGNvbG9yOiAjZjY5MjU5O1xufVxuXG4ubXlTd2lwZXIsXG4uc2Zhcy1jYXJvdXNlbCxcbi50YS10ZXN0aW1vbmlhbHMtc3dpcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZmFzLWNhcm91c2VsLFxuLnRhLXRlc3RpbW9uaWFscy1zd2lwZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogdGhlbWUoc2NyZWVucy5sZykpIHtcbiAgZGl2LndwLWJsb2NrLXRib25lcy1wLWNhcm91c2VsLXNsaWRlci50YS1jYXJvdXNlbC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtYmFzZSk7XG4gIH1cbn1cbi8qIGNoYW5nZXMgcmVsYXRlZCBicmVhZGNydW1icyAqL1xuYm9keS50YS1zaG93LWJyZWFkY3J1bWJzIHtcbiAgZGl2LnlvYXN0LWJyZWFkY3J1bWJzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuZGl2LnlvYXN0LWJyZWFkY3J1bWJzIHtcbiAgQGFwcGx5IHBiLTI7XG59XG5cbmJvZHkudGEtaGlkZS1icmVhZGNydW1icyB7XG4gIGRpdi55b2FzdC1icmVhZGNydW1icyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiBjaGFuZ2VzIHJlbGF0ZWQgYnJlYWRjcnVtYnMgKi9cblxuLyogU3R5bGUgcmVsYXRlZCAqL1xuLyogR3JvdXAgd2l0aCBjZW50ZXJlZCB0ZXh0ICovXG5ib2R5IC53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1jZW50ZXJlZC10ZXh0ICoge1xuICBAYXBwbHkgdGV4dC1jZW50ZXI7XG59XG5cbi8qIEZpeGluZyBmb250IGZvciBhbmltYXRpb24gKi9cbi53cC1ibG9jay1scGItbG90dGllLXBsYXllciAubHBiTG90dGllUGxheWVyIGxvdHRpZS1wbGF5ZXIge1xuICBmb250LWZhbWlseTogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWZmLXNvdXJjZS1zYW5zKSAhaW1wb3J0YW50O1xufVxuXG4jdGEtbG90dGllLWFuaW1hdGlvbiAjd3BhZG1pbmJhciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIGhpZGUgbG90dGllIGFkbWluIGJhciAqL1xuLnBhZ2UtaWQtNTY4LmFkbWluLWJhciBkaXYjd3BhZG1pbmJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlLWlkLTU2OC5hZG1pbi1iYXIgLndwLXNpdGUtYmxvY2tzIHtcbiAgbWFyZ2luLXRvcDogY2xhbXAoLTQ3cHgsIC0xNHZ3LCAtMzFweCk7XG59XG5cbmJvZHkge1xuICBmb250LWRpc3BsYXk6IG9wdGlvbmFsO1xufVxuXG4ud3AtYmxvY2stbHBiLWxvdHRpZS1wbGF5ZXIge1xuICBtaW4taGVpZ2h0OiBjbGFtcCgxNTBweCwgNDR2dywgMTAwdncpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlYXJjaCBQb3B1cCBTdHlsZXMgKi9cbi5zZWFyY2gtcG9wdXAtbW9kYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IC8qIEhpZGRlbiBieSBkZWZhdWx0ICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcblxuICAgIC5zZWFyY2gtcG9wdXAtY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogbWF4LWNvbnRlbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgXG4gIH1cbiAgXG4gIC5zZWFyY2gtcG9wdXAtbG9nbyAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogaGVpZ2h0OiA3Ljg3NXJlbTsgKi9cbiAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0Q4RDhEODtcbiAgICAgIGltZ3tcbiAgICAgICAgLyogbWFyZ2luLWJvdHRvbTogMjBweDsgKi9cbiAgICAgICAgaGVpZ2h0OiA2N3B4O1xuICAgICAgICAvKiBtYXgtaGVpZ2h0OiA4NXB4OyAqL1xuICAgICAgICB3aWR0aDogMTFyZW07XG4gICAgICAgIHdpZHRoOiAyMDhweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCl7XG4gICAgICAgICAgd2lkdGg6IDIwOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbiAgXG4gIC5jbG9zZS1idG4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcmVtO1xuICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIHN2Z3tcbiAgICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIGZpbGw6IHJnYigyMDQgMCA1MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpO1xuICAgICAgfVxuICB9XG4gICNzZWFyY2gtZm9ybXtcbiAgICBtYXgtd2lkdGg6IDUxcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDglO1xuICB9XG4gIC5zZWFyY2gtaW5wdXRmaWVsZHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjRDhEOEQ4O1xuICB9XG5cbiAgLnNlYXJjaC1yYWRpby1idXR0b25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5yYWRpby13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6MnJlbTsgXG4gICAgIFxuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzNSU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7IC8qIEhpZGUgdGhlIGRlZmF1bHQgcmFkaW8gYnV0dG9uICovXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgLyogQ2hhbmdlIGN1cnNvciB0byBwb2ludGVyICovXG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyAvKiBFbnN1cmUgdGhlIHBzZXVkby1lbGVtZW50IGlzIGRpc3BsYXllZCAqL1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzY2NjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IC8qIFBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBsYWJlbCAqL1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbTtcbiAgICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjc1cmVtO1xuICAgICAgICAgIGhlaWdodDogMS43NXJlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yLjI1cmVtLCAwLCAwKSBzY2FsZSgwLjUpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzAzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qIFNob3cgdGhlIGN1c3RvbSByYWRpbyBidXR0b24gd2hlbiBjaGVja2VkICovXG4gICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IC8qIFNob3cgdGhlIGlubmVyIGNpcmNsZSB3aGVuIGNoZWNrZWQgKi9cbiAgICB9XG59XG4gICNzZWFyY2gtdGV4dGZpZWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCl7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjc1MHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNzUwcmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgfVxuICB9XG4gIFxuICAjc2VhcmNoLWJ0biB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgLyogd2lkdGg6IDJyZW07XG4gICAgICBoZWlnaHQ6IDJyZW07ICovXG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgICBzdmd7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIGZpbGw6IHJnYigyMDQgMCA1MSAvIHZhcigtLXR3LXRleHQtb3BhY2l0eSwgMSkpO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpe1xuICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuICAucG9wdXAtc2VyYWNoLWljb24tc3Zne1xuICBcbiAgfVxufVxuXG5cblxuXG5cbi5zZWFyY2gtaWNvbiBidXR0b24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDI0cHg7XG59XG5cbi8qICNzZWFyY2gtaWNvbi1idG57ICovXG4gIC5zZWFyY2gtaWNvbi1idG57XG4gIGJvcmRlcjowO1xuICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICBzdmcubmF2LXNlcmFjaC1pY29uLXN2Z3tcbiAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgaGVpZ2h0OiAxLjEyNXJlbTtcblxuICB9XG4gIHN2Z3tcbiAgZmlsbDogcmdiKDIwNCAwIDUxIC8gdmFyKC0tdHctdGV4dC1vcGFjaXR5LCAxKSk7XG4gIH1cbn1cblxuXG5cbi5zZWFyY2gtaWNvbi1idG57XG4gIGF7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyBcbiAgICB3aWR0aDogMjBweDsgXG4gICAgaGVpZ2h0OiAyMHB4OyBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjggMjgnJTNFJTNDdGl0bGUlM0VTZWFyY2glM0MvdGl0bGUlM0UlM0NwYXRoIGZpbGw9JyUyM0MwMycgZD0nTTExLjEsMEM1LDAsMCw1LDAsMTEuMXM1LDExLjEsMTEuMSwxMS4xYzIuMywwLDQuNS0wLjcsNi4zLTJsNy4zLDcuM2MwLjgsMC44LDIsMC44LDIuOCwwYzAuOC0wLjgsMC44LTIsMC0yLjhsLTcuMy03LjNjMS4zLTEuOCwyLTQsMi02LjNDMjIuMSw1LDE3LjIsMCwxMS4xLDB6IE0xMS4xLDMuOWM0LDAsNy4yLDMuMiw3LjIsNy4yYzAsNC0zLjIsNy4yLTcuMiw3LjJjLTQsMC03LjItMy4yLTcuMi03LjJDMy45LDcuMSw3LjEsMy45LDExLjEsMy45eicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgXG4gICAgY3Vyc29yOiBwb2ludGVyOyBcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDsgXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgXG4gIH1cblxufVxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXtcbiAgLm1vYmlsZS1zZWFyY2gtaWNvbntcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgfVxufSBcbkBtZWRpYSAobWF4LXdpZHRoOjEwMjNweCl7XG4gIGxpLnNlYXJjaC1pY29uLWJ0bntcbiAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgfVxufVxuLnRvcC1tZW51LW5hdmlnYXRpb24uaXMtbGF5b3V0LWZsZXh7XG4gIEBtZWRpYSAobWF4LXdpZHRoOjEwMjNweCl7IFxuICAgIGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc3AtYmFzZSk7XG4gICAgLnNlYXJjaC1pY29uLWJ0bntcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLyogc2VhcmNoIGJsb2NrIGNsYXNzICovXG5cbi8qIHZpZGVvIHBsYXkgYnV0dG9uICovXG5hLndwem9vbS12aWRlby1wb3B1cC1ibG9jayxcbi5lZGl0b3Itc3R5bGVzLXdyYXBwZXIgYS53cHpvb20tdmlkZW8tcG9wdXAtYmxvY2sge1xuICBhbGlnbi1pdGVtczogZW5kO1xufVxuLyogdmlkZW8gcGxheSBidXR0b24gKi8iLG51bGxdfQ== */
