@layer base {
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper .read-more > span, .fs2,
  .fs3,
  .fs4,
  .fs5,
  .fs6,
  .subtitle, .fs1, body {
    font-size: max(var(--_font-size-min), var(--_font-size-min) + (var(--_font-size-max) - var(--_font-size-min)) * min(1, log(var(--px-width) / var(--min-font-breakpoint)) / log(var(--max-font-breakpoint) / var(--min-font-breakpoint))));
  }
  body {
    --_font-size-min: var(--body-font-size-min-medium);
    --_font-size-max: var(--body-font-size-max-medium);
    --_body-color: var(--body-text-color, var(--brand-black));
    font-family: var(--ff-default);
    font-weight: 300;
    line-height: 1.5;
    color: var(--_body-color);
  }
  svg.icon {
    width: 32px;
  }
  button {
    font-family: var(--btn-ff);
  }
  .fs1 {
    --_color: var(--heading-text-color, var(--brand-black));
    color: var(--_color);
    font-family: var(--ff-primary);
    line-height: 1.1;
  }
  .fs1.white {
    color: var(--brand-white);
  }
  .fs1.green {
    color: var(--primary-color-1);
  }
  .fs2.green,
  .fs3.green,
  .fs4.green {
    color: var(--primary-color-1);
  }
  .fs2,
  .fs3,
  .fs4,
  .fs5,
  .fs6,
  .subtitle {
    --_color: var(--heading-text-color, var(--brand-black));
    color: var(--_color);
    font-family: var(--ff-secondary);
  }
  .fs2.white,
  .fs3.white,
  .fs4.white,
  .fs5.white,
  .fs6.white,
  .subtitle.white {
    color: var(--brand-white);
  }
  .fs1 {
    --_font-size-min: var(--h1-font-size-min);
    --_font-size-max: var(--h1-font-size-max);
    font-weight: 400;
  }
  .fs2 {
    --_font-size-min: var(--h2-font-size-min);
    --_font-size-max: var(--h2-font-size-max);
    line-height: 1.1;
    font-weight: 500;
  }
  .fs3 {
    --_font-size-min: var(--h3-font-size-min);
    --_font-size-max: var(--h3-font-size-max);
    line-height: 1.1;
    font-weight: 600;
  }
  .fs4 {
    --_font-size-min: var(--h4-font-size-min);
    --_font-size-max: var(--h4-font-size-max);
    line-height: 1.4;
    font-weight: 600;
  }
  .fs5 {
    --_font-size-min: var(--h5-font-size-min);
    --_font-size-max: var(--h5-font-size-max);
    line-height: 1.4;
  }
  .fs6 {
    --_font-size-min: var(--h6-font-size-min);
    --_font-size-max: var(--h6-font-size-max);
    line-height: 1.4;
  }
  p {
    font-weight: 300;
  }
  .subtitle {
    --_font-size-min: var(--subtitle-font-size-min);
    --_font-size-max: var(--subtitle-font-size-max);
    --_color: var(--subtitle-text-color, var(--brand-black));
    display: block;
    font-family: var(--ff-default);
    font-weight: 500;
    color: var(--_color);
  }
}
@layer base {
  .carousel-component {
    --slide-spacing: 32px;
    position: relative;
  }
  .carousel-component > .embla {
    position: relative;
  }
  .carousel-component > .embla > .embla__viewport {
    overflow: hidden;
    width: 100%;
  }
  .carousel-component > .embla > .embla__viewport > .embla__container {
    display: flex;
  }
  .carousel-component > .embla > .embla__viewport > .embla__container > .embla__slide {
    position: relative;
    min-width: 100%;
    overflow: hidden;
    margin-right: var(--slide-spacing);
  }
  .carousel-component > .embla .embla__navigation-progress[value] {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    margin-top: 42px;
    margin-bottom: 24px;
    width: 100%;
    height: 4px;
    margin-inline: auto;
  }
  .carousel-component > .embla .embla__navigation-progress[value]::-webkit-progress-bar {
    border-radius: 100px;
    background-color: var(--progress-bg-color, var(--support-color-1));
  }
  .carousel-component > .embla .embla__navigation-progress[value]::-webkit-progress-value {
    border-radius: 100px;
    background-color: var(--progress-color, var(--primary-color-1-dark));
    transition: all var(--transition);
  }
  .carousel-component > .embla .embla__dots-navigation {
    --dot-color: var(--carousel-dot-color, var(--black-rgb));
    --dot-opacity: var(--carousel-dot-opacity, 0.3);
    --dot-hover-opacity: var(--carousel-dot-hover-opacity, 0.1);
    --selected-dot-color: var(--carousel-selected-dot-color, var(--primary-color-1));
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity var(--transition);
    margin-top: 10px;
  }
  .carousel-component > .embla .embla__dots-navigation > .dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
  }
  .carousel-component > .embla .embla__dots-navigation > .dot:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background-color: rgba(var(--dot-color), var(--dot-opacity));
    border-radius: var(--radius-round);
    transition: background-color var(--transition);
  }
  .carousel-component > .embla .embla__dots-navigation > .dot.active:before {
    background-color: var(--selected-dot-color);
  }
  @media (hover: hover) {
    .carousel-component > .embla .embla__dots-navigation > .dot:not([disabled]):hover:not(.active):before {
      background-color: rgba(var(--dot-color), var(--dot-hover-opacity));
    }
  }
  .carousel-component > .embla .embla__button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    touch-action: manipulation;
    color: var(--arrow-color, var(--white));
    background-color: rgb(var(--arrow-bg-color, var(--primary-color-1-dark-rgb)));
    transition: background-color var(--transition);
    border-radius: 8px;
  }
  @media (hover: hover) {
    .carousel-component > .embla .embla__button:not([disabled]):hover {
      background-color: rgba(var(--arrow-bg-color, var(--primary-color-1-dark-rgb)), 0.8);
    }
  }
  .carousel-component > .embla .embla__button:disabled {
    cursor: default;
    opacity: 0.3;
  }
  .carousel-component > .embla .embla__button > span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
  }
  .carousel-component > .embla .embla__button + .embla__button {
    margin-left: 8px;
  }
}
@layer components {
  @media (max-width: 575px) {
    .testimonial-carousel .carousel-component {
      --slide-visible: 1 !important;
    }
  }
  @media (min-width: 768px) {
    .testimonial-carousel .carousel-component {
      --slide-visible: 2 !important;
      --slide-width: calc(
          (100% / var(--slide-visible)) -
              (((var(--slide-visible) - 1) * var(--slide-spacing)) / var(--slide-visible))
      );
    }
    .testimonial-carousel .carousel-component .embla__slide {
      min-width: var(--slide-width) !important;
    }
  }
  @media (min-width: 768px) {
    .testimonial-carousel .carousel-component {
      --slide-spacing: 40px;
    }
    .testimonial-carousel .carousel-component .embla {
      margin-top: 24px;
    }
  }
  @media (min-width: 992px) {
    .testimonial-carousel .carousel-component {
      --slide-spacing: 60px;
    }
  }
  @media (min-width: 1200px) {
    .testimonial-carousel .carousel-component {
      --slide-spacing: 80px;
    }
  }
  @media (min-width: 1400px) {
    .testimonial-carousel .carousel-component {
      --slide-spacing: 120px;
    }
  }
  @media (min-width: 1920px) {
    .testimonial-carousel .carousel-component {
      --slide-spacing: 160px;
    }
  }
  .testimonial-carousel .carousel-component .embla {
    display: grid;
    grid-template-columns: auto 1fr auto;
    column-gap: var(--slide-spacing);
    row-gap: 44px;
  }
  .testimonial-carousel .carousel-component .embla .embla__viewport {
    grid-column: 2;
    grid-row: 1;
  }
  .testimonial-carousel .carousel-component .embla .embla__button {
    height: 48px;
    width: 48px;
    margin: 0;
    align-self: center;
  }
  .testimonial-carousel .carousel-component .embla .embla__button.prev {
    grid-column: 1;
    grid-row: 1/-1;
  }
  .testimonial-carousel .carousel-component .embla .embla__button.next {
    grid-column: 3;
    grid-row: 1/-1;
  }
  .testimonial-carousel .carousel-component .embla .embla__dots-navigation {
    margin: 0;
    grid-column: 2;
    grid-row: 2;
  }
  @media (max-width: 767px) {
    .testimonial-carousel .carousel-component .embla {
      gap: 32px;
    }
    .testimonial-carousel .carousel-component .embla .embla__viewport {
      grid-column: 1/-1;
      grid-row: 1;
    }
    .testimonial-carousel .carousel-component .embla .embla__button {
      height: auto;
      width: auto;
    }
    .testimonial-carousel .carousel-component .embla .embla__button > span {
      padding: 5px;
    }
    .testimonial-carousel .carousel-component .embla .embla__button > span > .icon {
      width: 22px;
    }
    .testimonial-carousel .carousel-component .embla .embla__button.prev {
      grid-column: 1;
      grid-row: 2;
    }
    .testimonial-carousel .carousel-component .embla .embla__button.next {
      grid-column: 3;
      grid-row: 2;
    }
    .testimonial-carousel .carousel-component .embla .embla__dots-navigation {
      grid-column: 2;
      grid-row: 2;
    }
  }
  .testimonial-carousel .carousel-component .embla__container {
    display: grid;
    grid-template-columns: repeat(var(--testimonial-count, 100), calc(50% - (var(--slide-spacing)) / 2));
    grid-template-rows: auto auto;
    column-gap: var(--slide-spacing);
    --star-padding: 6px;
  }
  .testimonial-carousel .carousel-component .embla__container:has(.star-wrapper) {
    --star-padding: 56px;
  }
  @media (max-width: 767px) {
    .testimonial-carousel .carousel-component .embla__container {
      grid-template-columns: repeat(var(--testimonial-count, 100), 100%);
    }
  }
  .testimonial-carousel .carousel-component .embla__slide {
    display: grid;
    grid-row: 1/-1;
    grid-template-rows: subgrid;
    text-align: center;
    margin-right: 0;
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper {
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper .richtext {
    max-height: 9em;
    transition: max-height var(--transition);
    overflow: hidden;
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper .read-more {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    transition: color var(--transition);
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper .read-more > span {
    font-weight: 500;
    --_font-size-min: var(--body-font-size-min-medium);
    --_font-size-max: var(--body-font-size-max-medium);
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper .read-more .icon {
    width: 32px;
    height: 32px;
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper .read-more:hover {
    color: var(--read-more-color, var(--primary-color-1));
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper.clamped .richtext {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper.expanded .richtext {
    max-height: 100%;
  }
  .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper.expanded .read-more > .icon {
    transform: rotate(180deg);
  }
  @media (max-width: 767px) {
    .testimonial-carousel .carousel-component .embla__slide .testimonial-wrapper .richtext {
      max-height: 100%;
    }
  }
  .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper {
    grid-row: 2;
    height: 100%;
    margin-top: 18px;
  }
  .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper:not(:has(.star-wrapper)) {
    padding-top: var(--star-padding);
  }
  .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper .star-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    margin-bottom: 16px;
  }
  .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper .star-wrapper .star {
    position: relative;
    width: 24px;
    height: 24px;
  }
  .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper .star-wrapper .star > svg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: block;
  }
  .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper .star-wrapper .star-back {
    z-index: 1;
    color: rgba(var(--testimonial-star-color, var(--primary-color-1-rgb)), 0.3);
  }
  .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper .star-wrapper .star-front {
    z-index: 2;
    overflow: hidden;
    color: rgb(var(--testimonial-star-color, var(--primary-color-1-rgb)));
    clip-path: inset(0 calc(100% - var(--fill)) 0 0);
  }
  .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper .author {
    font-family: var(--ff-primary);
    font-weight: 400;
  }
  @media (max-width: 767px) {
    .testimonial-carousel .carousel-component .embla__slide .sub-info-wrapper {
      margin-top: 18px;
    }
  }
  .testimonial-carousel.center .carousel-component {
    margin-inline: auto;
  }
  .testimonial-carousel:has(.testimonial-count-one) .carousel-component .embla__container {
    grid-template-columns: calc(75% - (var(--slide-spacing)) / 2);
    justify-content: center;
  }
  .testimonial-carousel:not(:has(.testimonial-count-one)):not(:has(.testimonial-count-two)) .carousel-component .embla__slide:last-child {
    width: calc(100% + var(--slide-spacing));
    padding-right: var(--slide-spacing);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzLmNhcm91c2VsLnRlc3RpbW9uaWFsQ2Fyb3VzZWwuY3NzIiwibWFwcGluZ3MiOiJBQUlBO0VBTUU7Ozs7OztJQUNFO0VDSEY7RURPQTtJQUNFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0VDUEY7RURVQTtJQUNFO0VDUkY7RURXQTtJQUNFO0VDVEY7RURZQTtJQUNFO0lBRUE7SUFDQTtJQUVBO0VDWkY7RURjRTtJQUNFO0VDWko7RURlRTtJQUNFO0VDYko7RURvQkU7OztJQUNFO0VDaEJKO0VEb0JBOzs7Ozs7SUFNRTtJQUVBO0lBQ0E7RUNuQkY7RURzQkU7Ozs7OztJQUNFO0VDZko7RURtQkE7SUFDRTtJQUNBO0lBQ0E7RUNqQkY7RURvQkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFQ2xCRjtFRHFCQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VDbkJGO0VEc0JBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RUNwQkY7RUR1QkE7SUFDRTtJQUNBO0lBQ0E7RUNyQkY7RUR3QkE7SUFDRTtJQUNBO0lBQ0E7RUN0QkY7RUR5QkE7SUFDRTtFQ3ZCRjtFRDBCQTtJQUNFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0VDekJGO0FBQ0Y7QUN0R0E7RUFDSTtJQUNJO0lBQ0E7RUR3R047RUN0R007SUFDSTtFRHdHVjtFQ3RHVTtJQUNJO0lBQ0E7RUR3R2Q7RUN0R2M7SUFDSTtFRHdHbEI7RUN0R2tCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RUR3R3RCO0VDbEdjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRG9HbEI7RUNqR2M7SUFDSTtJQUNBO0VEbUdsQjtFQ2hHYztJQUNJO0lBQ0E7SUFDQTtFRGtHbEI7RUM5RlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUQrRmQ7RUM3RmM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VEK0ZsQjtFQzdGa0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRCtGdEI7RUMzRnNCO0lBQ0k7RUQ2RjFCO0VFM0lFO0lEbURvQjtNQUNJO0lEMkZ4QjtFQUNGO0VDdEZVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtFRHVGZDtFRTFKRTtJQUNJO01EcUVZO0lEd0ZoQjtFQUNGO0VDdEZjO0lBQ0k7SUFDQTtFRHdGbEI7RUNyRmM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFRHVGbEI7RUNwRmM7SUFDSTtFRHNGbEI7QUFDRjtBRzdNQTtFQUdZO0lBREo7TUFFUTtJSDhNWjtFQUNGO0VHNU1VO0lBTEo7TUFNUTtNQUNBOzs7T0FBQTtJSGtOWjtJRzdNWTtNQUNJO0lIK01oQjtFQUNGO0VHMU1VO0lBREo7TUFFUTtJSDZNWjtJRzNNWTtNQUNJO0lINk1oQjtFQUNGO0VHMU1VO0lBVEo7TUFVUTtJSDZNWjtFQUNGO0VHM01VO0lBYko7TUFjUTtJSDhNWjtFQUNGO0VHNU1VO0lBakJKO01Ba0JRO0lIK01aO0VBQ0Y7RUc3TVU7SUFyQko7TUFzQlE7SUhnTlo7RUFDRjtFRzlNVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VIZ05kO0VHOU1jO0lBQ0k7SUFDQTtFSGdObEI7RUc3TWM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFSCtNbEI7RUc1TWM7SUFDSTtJQUNBO0VIOE1sQjtFRzNNYztJQUNJO0lBQ0E7RUg2TWxCO0VHMU1jO0lBQ0k7SUFDQTtJQUNBO0VINE1sQjtFR3pNYztJQWxDSjtNQW1DUTtJSDRNaEI7SUcxTWdCO01BQ0k7TUFDQTtJSDRNcEI7SUd6TWdCO01BQ0k7TUFDQTtJSDJNcEI7SUd6TW9CO01BQ0k7SUgyTXhCO0lHek13QjtNQUNJO0lIMk01QjtJR3RNZ0I7TUFDSTtNQUNBO0lId01wQjtJR3JNZ0I7TUFDSTtNQUNBO0lIdU1wQjtJR3BNZ0I7TUFDSTtNQUNBO0lIc01wQjtFQUNGO0VHbE1VO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFFQTtFSG1NZDtFR2pNYztJQUNJO0VIbU1sQjtFR2hNYztJQVpKO01BYVE7SUhtTWhCO0VBQ0Y7RUdoTVU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VIa01kO0VHaE1jO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RUhrTWxCO0VHaE1rQjtJQUNJO0lBQ0E7SUFDQTtFSGtNdEI7RUcvTGtCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFSGlNdEI7RUcvTHNCO0lBQ0k7SURsR3hCO0lBQ0E7RUZvU0Y7RUcvTHNCO0lBQ0k7SUFDQTtFSGlNMUI7RUc5THNCO0lBQ0k7RUhnTTFCO0VHM0xzQjtJRDlIcEI7SUFDQSxxQkM4SHlDO0lEN0h6QztJQUNBO0VGNFRGO0VHM0xzQjtJQUNJO0VINkwxQjtFRzFMc0I7SUFDSTtFSDRMMUI7RUd4TGtCO0lBQ0k7TUFDSTtJSDBMeEI7RUFDRjtFR3RMYztJQUNJO0lBQ0E7SUFDQTtFSHdMbEI7RUd0TGtCO0lBQ0k7RUh3THRCO0VHckxrQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFSHVMdEI7RUdyTHNCO0lBQ0k7SUFDQTtJQUNBO0VIdUwxQjtFR3JMMEI7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUh1TDlCO0VHbkxzQjtJQUNJO0lBQ0E7RUhxTDFCO0VHbExzQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VIb0wxQjtFR2hMa0I7SUFDSTtJQUNBO0VIa0x0QjtFRy9La0I7SUFsREo7TUFtRFE7SUhrTHBCO0VBQ0Y7RUc1S1U7SUFDSTtFSDhLZDtFR3pLVTtJQUNJO0lBQ0E7RUgyS2Q7RUd0S1U7SUFDSTtJQUNBO0VId0tkO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL3RlYW0tYXdlc29tZS8uL3NyYy9zdHlsZS90eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vdGVhbS1hd2Vzb21lLy4vc3JjL2Jsb2Nrcy9jYXJvdXNlbC90ZXN0aW1vbmlhbENhcm91c2VsLnNjc3MiLCJ3ZWJwYWNrOi8vdGVhbS1hd2Vzb21lLy4vc3JjL2NvbXBvbmVudHMvdXRpbENvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly90ZWFtLWF3ZXNvbWUvLi9zcmMvc3R5bGUvaGVscGVycy9pbmRleC5zY3NzIiwid2VicGFjazovL3RlYW0tYXdlc29tZS8uL3NyYy9jb21wb25lbnRzL2Nhcm91c2VsL3Rlc3RpbW9uaWFsL3Rlc3RpbW9uaWFsQ2Fyb3VzZWwuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyLvu78vL1xyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vXHJcblxyXG5AbGF5ZXIgYmFzZSB7XHJcblxyXG4gIC8vIEZvbnQtc2l6ZSBjYWxjdWxhdGlvblxyXG4gIC8vIEVkaXQgYXQgeW91ciBvd24gcmlza1xyXG4gIC8vIElmIGNoYW5naW5nIGZvbnQtc2l6ZXMgYmUgc3VyZSB0byBjaGVjayBpZiBmb250LXNpemVzIGFyZSBjb21wbGlhbnQgd2l0aCBXQ0FHMi5BIEFBIFNDLiAxLjQuNDpcclxuICAvLyAtIEV4Y2VwdCBmb3IgY2FwdGlvbnMgYW5kIGltYWdlcyBvZiB0ZXh0LCB0ZXh0IGNhbiBiZSByZXNpemVkIHdpdGhvdXQgYXNzaXN0aXZlIHRlY2hub2xvZ3kgdXAgdG8gMjAwIHBlcmNlbnQgd2l0aG91dCBsb3NzIG9mIGNvbnRlbnQgb3IgZnVuY3Rpb25hbGl0eS5cclxuICAlZm9udHNpemUge1xyXG4gICAgZm9udC1zaXplOiBtYXgodmFyKC0tX2ZvbnQtc2l6ZS1taW4pLCBjYWxjKHZhcigtLV9mb250LXNpemUtbWluKSArICh2YXIoLS1fZm9udC1zaXplLW1heCkgLSB2YXIoLS1fZm9udC1zaXplLW1pbikpICogKG1pbigxLCBsb2codmFyKC0tcHgtd2lkdGgpL3ZhcigtLW1pbi1mb250LWJyZWFrcG9pbnQpKSAvIGxvZyh2YXIoLS1tYXgtZm9udC1icmVha3BvaW50KS92YXIoLS1taW4tZm9udC1icmVha3BvaW50KSkpKSkpO1xyXG4gIH1cclxuXHJcblxyXG4gIGJvZHkge1xyXG4gICAgLS1fZm9udC1zaXplLW1pbjogdmFyKC0tYm9keS1mb250LXNpemUtbWluLW1lZGl1bSk7XHJcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1ib2R5LWZvbnQtc2l6ZS1tYXgtbWVkaXVtKTtcclxuICAgIC0tX2JvZHktY29sb3I6IHZhcigtLWJvZHktdGV4dC1jb2xvciwgdmFyKC0tYnJhbmQtYmxhY2spKTtcclxuXHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tZmYtZGVmYXVsdCk7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgQGV4dGVuZCAlZm9udHNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgY29sb3I6IHZhcigtLV9ib2R5LWNvbG9yKTtcclxuICB9XHJcblxyXG4gIHN2Zy5pY29uIHtcclxuICAgIHdpZHRoOiAzMnB4O1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1idG4tZmYpO1xyXG4gIH1cclxuXHJcbiAgLmZzMSB7XHJcbiAgICAtLV9jb2xvcjogdmFyKC0taGVhZGluZy10ZXh0LWNvbG9yLCB2YXIoLS1icmFuZC1ibGFjaykpO1xyXG5cclxuICAgIGNvbG9yOiB2YXIoLS1fY29sb3IpO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmLXByaW1hcnkpO1xyXG4gICAgQGV4dGVuZCAlZm9udHNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xO1xyXG5cclxuICAgICYud2hpdGUge1xyXG4gICAgICBjb2xvcjogdmFyKC0tYnJhbmQtd2hpdGUpO1xyXG4gICAgfVxyXG5cclxuICAgICYuZ3JlZW4ge1xyXG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvci0xKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mczIsXHJcbiAgLmZzMyxcclxuICAuZnM0IHtcclxuICAgICYuZ3JlZW4ge1xyXG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvci0xKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mczIsXHJcbiAgLmZzMyxcclxuICAuZnM0LFxyXG4gIC5mczUsXHJcbiAgLmZzNixcclxuICAuc3VidGl0bGUge1xyXG4gICAgLS1fY29sb3I6IHZhcigtLWhlYWRpbmctdGV4dC1jb2xvciwgdmFyKC0tYnJhbmQtYmxhY2spKTtcclxuXHJcbiAgICBjb2xvcjogdmFyKC0tX2NvbG9yKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZi1zZWNvbmRhcnkpO1xyXG4gICAgQGV4dGVuZCAlZm9udHNpemU7XHJcblxyXG4gICAgJi53aGl0ZSB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1icmFuZC13aGl0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZnMxIHtcclxuICAgIC0tX2ZvbnQtc2l6ZS1taW46IHZhcigtLWgxLWZvbnQtc2l6ZS1taW4pO1xyXG4gICAgLS1fZm9udC1zaXplLW1heDogdmFyKC0taDEtZm9udC1zaXplLW1heCk7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gIH1cclxuXHJcbiAgLmZzMiB7XHJcbiAgICAtLV9mb250LXNpemUtbWluOiB2YXIoLS1oMi1mb250LXNpemUtbWluKTtcclxuICAgIC0tX2ZvbnQtc2l6ZS1tYXg6IHZhcigtLWgyLWZvbnQtc2l6ZS1tYXgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgfVxyXG5cclxuICAuZnMzIHtcclxuICAgIC0tX2ZvbnQtc2l6ZS1taW46IHZhcigtLWgzLWZvbnQtc2l6ZS1taW4pO1xyXG4gICAgLS1fZm9udC1zaXplLW1heDogdmFyKC0taDMtZm9udC1zaXplLW1heCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcblxyXG4gIC5mczQge1xyXG4gICAgLS1fZm9udC1zaXplLW1pbjogdmFyKC0taDQtZm9udC1zaXplLW1pbik7XHJcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1oNC1mb250LXNpemUtbWF4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxuXHJcbiAgLmZzNSB7XHJcbiAgICAtLV9mb250LXNpemUtbWluOiB2YXIoLS1oNS1mb250LXNpemUtbWluKTtcclxuICAgIC0tX2ZvbnQtc2l6ZS1tYXg6IHZhcigtLWg1LWZvbnQtc2l6ZS1tYXgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICB9XHJcblxyXG4gIC5mczYge1xyXG4gICAgLS1fZm9udC1zaXplLW1pbjogdmFyKC0taDYtZm9udC1zaXplLW1pbik7XHJcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1oNi1mb250LXNpemUtbWF4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgfVxyXG5cclxuICAuc3VidGl0bGUge1xyXG4gICAgLS1fZm9udC1zaXplLW1pbjogdmFyKC0tc3VidGl0bGUtZm9udC1zaXplLW1pbik7XHJcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1zdWJ0aXRsZS1mb250LXNpemUtbWF4KTtcclxuICAgIC0tX2NvbG9yOiB2YXIoLS1zdWJ0aXRsZS10ZXh0LWNvbG9yLCB2YXIoLS1icmFuZC1ibGFjaykpO1xyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmLWRlZmF1bHQpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiB2YXIoLS1fY29sb3IpO1xyXG4gIH1cclxufSIsIkBsYXllciBiYXNlIHtcbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAudGVzdGltb25pYWwtd3JhcHBlciAucmVhZC1tb3JlID4gc3BhbiwgLmZzMixcbiAgLmZzMyxcbiAgLmZzNCxcbiAgLmZzNSxcbiAgLmZzNixcbiAgLnN1YnRpdGxlLCAuZnMxLCBib2R5IHtcbiAgICBmb250LXNpemU6IG1heCh2YXIoLS1fZm9udC1zaXplLW1pbiksIHZhcigtLV9mb250LXNpemUtbWluKSArICh2YXIoLS1fZm9udC1zaXplLW1heCkgLSB2YXIoLS1fZm9udC1zaXplLW1pbikpICogbWluKDEsIGxvZyh2YXIoLS1weC13aWR0aCkgLyB2YXIoLS1taW4tZm9udC1icmVha3BvaW50KSkgLyBsb2codmFyKC0tbWF4LWZvbnQtYnJlYWtwb2ludCkgLyB2YXIoLS1taW4tZm9udC1icmVha3BvaW50KSkpKTtcbiAgfVxuICBib2R5IHtcbiAgICAtLV9mb250LXNpemUtbWluOiB2YXIoLS1ib2R5LWZvbnQtc2l6ZS1taW4tbWVkaXVtKTtcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1ib2R5LWZvbnQtc2l6ZS1tYXgtbWVkaXVtKTtcbiAgICAtLV9ib2R5LWNvbG9yOiB2YXIoLS1ib2R5LXRleHQtY29sb3IsIHZhcigtLWJyYW5kLWJsYWNrKSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmLWRlZmF1bHQpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogdmFyKC0tX2JvZHktY29sb3IpO1xuICB9XG4gIHN2Zy5pY29uIHtcbiAgICB3aWR0aDogMzJweDtcbiAgfVxuICBidXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1idG4tZmYpO1xuICB9XG4gIC5mczEge1xuICAgIC0tX2NvbG9yOiB2YXIoLS1oZWFkaW5nLXRleHQtY29sb3IsIHZhcigtLWJyYW5kLWJsYWNrKSk7XG4gICAgY29sb3I6IHZhcigtLV9jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmLXByaW1hcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIH1cbiAgLmZzMS53aGl0ZSB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLXdoaXRlKTtcbiAgfVxuICAuZnMxLmdyZWVuIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvci0xKTtcbiAgfVxuICAuZnMyLmdyZWVuLFxuICAuZnMzLmdyZWVuLFxuICAuZnM0LmdyZWVuIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvci0xKTtcbiAgfVxuICAuZnMyLFxuICAuZnMzLFxuICAuZnM0LFxuICAuZnM1LFxuICAuZnM2LFxuICAuc3VidGl0bGUge1xuICAgIC0tX2NvbG9yOiB2YXIoLS1oZWFkaW5nLXRleHQtY29sb3IsIHZhcigtLWJyYW5kLWJsYWNrKSk7XG4gICAgY29sb3I6IHZhcigtLV9jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZmLXNlY29uZGFyeSk7XG4gIH1cbiAgLmZzMi53aGl0ZSxcbiAgLmZzMy53aGl0ZSxcbiAgLmZzNC53aGl0ZSxcbiAgLmZzNS53aGl0ZSxcbiAgLmZzNi53aGl0ZSxcbiAgLnN1YnRpdGxlLndoaXRlIHtcbiAgICBjb2xvcjogdmFyKC0tYnJhbmQtd2hpdGUpO1xuICB9XG4gIC5mczEge1xuICAgIC0tX2ZvbnQtc2l6ZS1taW46IHZhcigtLWgxLWZvbnQtc2l6ZS1taW4pO1xuICAgIC0tX2ZvbnQtc2l6ZS1tYXg6IHZhcigtLWgxLWZvbnQtc2l6ZS1tYXgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgLmZzMiB7XG4gICAgLS1fZm9udC1zaXplLW1pbjogdmFyKC0taDItZm9udC1zaXplLW1pbik7XG4gICAgLS1fZm9udC1zaXplLW1heDogdmFyKC0taDItZm9udC1zaXplLW1heCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5mczMge1xuICAgIC0tX2ZvbnQtc2l6ZS1taW46IHZhcigtLWgzLWZvbnQtc2l6ZS1taW4pO1xuICAgIC0tX2ZvbnQtc2l6ZS1tYXg6IHZhcigtLWgzLWZvbnQtc2l6ZS1tYXgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuICAuZnM0IHtcbiAgICAtLV9mb250LXNpemUtbWluOiB2YXIoLS1oNC1mb250LXNpemUtbWluKTtcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1oNC1mb250LXNpemUtbWF4KTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbiAgLmZzNSB7XG4gICAgLS1fZm9udC1zaXplLW1pbjogdmFyKC0taDUtZm9udC1zaXplLW1pbik7XG4gICAgLS1fZm9udC1zaXplLW1heDogdmFyKC0taDUtZm9udC1zaXplLW1heCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuICAuZnM2IHtcbiAgICAtLV9mb250LXNpemUtbWluOiB2YXIoLS1oNi1mb250LXNpemUtbWluKTtcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1oNi1mb250LXNpemUtbWF4KTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG4gIHAge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cbiAgLnN1YnRpdGxlIHtcbiAgICAtLV9mb250LXNpemUtbWluOiB2YXIoLS1zdWJ0aXRsZS1mb250LXNpemUtbWluKTtcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1zdWJ0aXRsZS1mb250LXNpemUtbWF4KTtcbiAgICAtLV9jb2xvcjogdmFyKC0tc3VidGl0bGUtdGV4dC1jb2xvciwgdmFyKC0tYnJhbmQtYmxhY2spKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogdmFyKC0tZmYtZGVmYXVsdCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tX2NvbG9yKTtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICAuY2Fyb3VzZWwtY29tcG9uZW50IHtcbiAgICAtLXNsaWRlLXNwYWNpbmc6IDMycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jYXJvdXNlbC1jb21wb25lbnQgPiAuZW1ibGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuY2Fyb3VzZWwtY29tcG9uZW50ID4gLmVtYmxhID4gLmVtYmxhX192aWV3cG9ydCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY2Fyb3VzZWwtY29tcG9uZW50ID4gLmVtYmxhID4gLmVtYmxhX192aWV3cG9ydCA+IC5lbWJsYV9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5jYXJvdXNlbC1jb21wb25lbnQgPiAuZW1ibGEgPiAuZW1ibGFfX3ZpZXdwb3J0ID4gLmVtYmxhX19jb250YWluZXIgPiAuZW1ibGFfX3NsaWRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zbGlkZS1zcGFjaW5nKTtcbiAgfVxuICAuY2Fyb3VzZWwtY29tcG9uZW50ID4gLmVtYmxhIC5lbWJsYV9fbmF2aWdhdGlvbi1wcm9ncmVzc1t2YWx1ZV0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDQycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5jYXJvdXNlbC1jb21wb25lbnQgPiAuZW1ibGEgLmVtYmxhX19uYXZpZ2F0aW9uLXByb2dyZXNzW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWJnLWNvbG9yLCB2YXIoLS1zdXBwb3J0LWNvbG9yLTEpKTtcbiAgfVxuICAuY2Fyb3VzZWwtY29tcG9uZW50ID4gLmVtYmxhIC5lbWJsYV9fbmF2aWdhdGlvbi1wcm9ncmVzc1t2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yLTEtZGFyaykpO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgfVxuICAuY2Fyb3VzZWwtY29tcG9uZW50ID4gLmVtYmxhIC5lbWJsYV9fZG90cy1uYXZpZ2F0aW9uIHtcbiAgICAtLWRvdC1jb2xvcjogdmFyKC0tY2Fyb3VzZWwtZG90LWNvbG9yLCB2YXIoLS1ibGFjay1yZ2IpKTtcbiAgICAtLWRvdC1vcGFjaXR5OiB2YXIoLS1jYXJvdXNlbC1kb3Qtb3BhY2l0eSwgMC4zKTtcbiAgICAtLWRvdC1ob3Zlci1vcGFjaXR5OiB2YXIoLS1jYXJvdXNlbC1kb3QtaG92ZXItb3BhY2l0eSwgMC4xKTtcbiAgICAtLXNlbGVjdGVkLWRvdC1jb2xvcjogdmFyKC0tY2Fyb3VzZWwtc2VsZWN0ZWQtZG90LWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yLTEpKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG4gIC5jYXJvdXNlbC1jb21wb25lbnQgPiAuZW1ibGEgLmVtYmxhX19kb3RzLW5hdmlnYXRpb24gPiAuZG90IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICB9XG4gIC5jYXJvdXNlbC1jb21wb25lbnQgPiAuZW1ibGEgLmVtYmxhX19kb3RzLW5hdmlnYXRpb24gPiAuZG90OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1kb3QtY29sb3IpLCB2YXIoLS1kb3Qtb3BhY2l0eSkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1yb3VuZCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uKTtcbiAgfVxuICAuY2Fyb3VzZWwtY29tcG9uZW50ID4gLmVtYmxhIC5lbWJsYV9fZG90cy1uYXZpZ2F0aW9uID4gLmRvdC5hY3RpdmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWxlY3RlZC1kb3QtY29sb3IpO1xuICB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmNhcm91c2VsLWNvbXBvbmVudCA+IC5lbWJsYSAuZW1ibGFfX2RvdHMtbmF2aWdhdGlvbiA+IC5kb3Q6bm90KFtkaXNhYmxlZF0pOmhvdmVyOm5vdCguYWN0aXZlKTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1kb3QtY29sb3IpLCB2YXIoLS1kb3QtaG92ZXItb3BhY2l0eSkpO1xuICAgIH1cbiAgfVxuICAuY2Fyb3VzZWwtY29tcG9uZW50ID4gLmVtYmxhIC5lbWJsYV9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIGNvbG9yOiB2YXIoLS1hcnJvdy1jb2xvciwgdmFyKC0td2hpdGUpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tYXJyb3ctYmctY29sb3IsIHZhcigtLXByaW1hcnktY29sb3ItMS1kYXJrLXJnYikpKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5jYXJvdXNlbC1jb21wb25lbnQgPiAuZW1ibGEgLmVtYmxhX19idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tYXJyb3ctYmctY29sb3IsIHZhcigtLXByaW1hcnktY29sb3ItMS1kYXJrLXJnYikpLCAwLjgpO1xuICAgIH1cbiAgfVxuICAuY2Fyb3VzZWwtY29tcG9uZW50ID4gLmVtYmxhIC5lbWJsYV9fYnV0dG9uOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG4gIC5jYXJvdXNlbC1jb21wb25lbnQgPiAuZW1ibGEgLmVtYmxhX19idXR0b24gPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4O1xuICB9XG4gIC5jYXJvdXNlbC1jb21wb25lbnQgPiAuZW1ibGEgLmVtYmxhX19idXR0b24gKyAuZW1ibGFfX2J1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgfVxufVxuQGxheWVyIGNvbXBvbmVudHMge1xuICBAbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCB7XG4gICAgICAtLXNsaWRlLXZpc2libGU6IDEgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQge1xuICAgICAgLS1zbGlkZS12aXNpYmxlOiAyICFpbXBvcnRhbnQ7XG4gICAgICAtLXNsaWRlLXdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlIC8gdmFyKC0tc2xpZGUtdmlzaWJsZSkpIC1cbiAgICAgICAgICAgICAgKCgodmFyKC0tc2xpZGUtdmlzaWJsZSkgLSAxKSAqIHZhcigtLXNsaWRlLXNwYWNpbmcpKSAvIHZhcigtLXNsaWRlLXZpc2libGUpKVxuICAgICAgKTtcbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSB7XG4gICAgICBtaW4td2lkdGg6IHZhcigtLXNsaWRlLXdpZHRoKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCB7XG4gICAgICAtLXNsaWRlLXNwYWNpbmc6IDQwcHg7XG4gICAgfVxuICAgIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYSB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCB7XG4gICAgICAtLXNsaWRlLXNwYWNpbmc6IDYwcHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCB7XG4gICAgICAtLXNsaWRlLXNwYWNpbmc6IDgwcHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCB7XG4gICAgICAtLXNsaWRlLXNwYWNpbmc6IDEyMHB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQge1xuICAgICAgLS1zbGlkZS1zcGFjaW5nOiAxNjBweDtcbiAgICB9XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1zbGlkZS1zcGFjaW5nKTtcbiAgICByb3ctZ2FwOiA0NHB4O1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYSAuZW1ibGFfX3ZpZXdwb3J0IHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxuICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGEgLmVtYmxhX19idXR0b24ge1xuICAgIGhlaWdodDogNDhweDtcbiAgICB3aWR0aDogNDhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYSAuZW1ibGFfX2J1dHRvbi5wcmV2IHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMS8tMTtcbiAgfVxuICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGEgLmVtYmxhX19idXR0b24ubmV4dCB7XG4gICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgZ3JpZC1yb3c6IDEvLTE7XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhIC5lbWJsYV9fZG90cy1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDI7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhIHtcbiAgICAgIGdhcDogMzJweDtcbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhIC5lbWJsYV9fdmlld3BvcnQge1xuICAgICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhIC5lbWJsYV9fYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGEgLmVtYmxhX19idXR0b24gPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICB9XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhIC5lbWJsYV9fYnV0dG9uID4gc3BhbiA+IC5pY29uIHtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgIH1cbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGEgLmVtYmxhX19idXR0b24ucHJldiB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGEgLmVtYmxhX19idXR0b24ubmV4dCB7XG4gICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGEgLmVtYmxhX19kb3RzLW5hdmlnYXRpb24ge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMjtcbiAgICB9XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tdGVzdGltb25pYWwtY291bnQsIDEwMCksIGNhbGMoNTAlIC0gKHZhcigtLXNsaWRlLXNwYWNpbmcpKSAvIDIpKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1zbGlkZS1zcGFjaW5nKTtcbiAgICAtLXN0YXItcGFkZGluZzogNnB4O1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fY29udGFpbmVyOmhhcyguc3Rhci13cmFwcGVyKSB7XG4gICAgLS1zdGFyLXBhZGRpbmc6IDU2cHg7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19jb250YWluZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tdGVzdGltb25pYWwtY291bnQsIDEwMCksIDEwMCUpO1xuICAgIH1cbiAgfVxuICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGFfX3NsaWRlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtcm93OiAxLy0xO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fc2xpZGUgLnRlc3RpbW9uaWFsLXdyYXBwZXIge1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fc2xpZGUgLnRlc3RpbW9uaWFsLXdyYXBwZXIgLnJpY2h0ZXh0IHtcbiAgICBtYXgtaGVpZ2h0OiA5ZW07XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fc2xpZGUgLnRlc3RpbW9uaWFsLXdyYXBwZXIgLnJlYWQtbW9yZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAudGVzdGltb25pYWwtd3JhcHBlciAucmVhZC1tb3JlID4gc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAtLV9mb250LXNpemUtbWluOiB2YXIoLS1ib2R5LWZvbnQtc2l6ZS1taW4tbWVkaXVtKTtcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1ib2R5LWZvbnQtc2l6ZS1tYXgtbWVkaXVtKTtcbiAgfVxuICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGFfX3NsaWRlIC50ZXN0aW1vbmlhbC13cmFwcGVyIC5yZWFkLW1vcmUgLmljb24ge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgfVxuICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGFfX3NsaWRlIC50ZXN0aW1vbmlhbC13cmFwcGVyIC5yZWFkLW1vcmU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1yZWFkLW1vcmUtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3ItMSkpO1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fc2xpZGUgLnRlc3RpbW9uaWFsLXdyYXBwZXIuY2xhbXBlZCAucmljaHRleHQge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogNjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAudGVzdGltb25pYWwtd3JhcHBlci5leHBhbmRlZCAucmljaHRleHQge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAudGVzdGltb25pYWwtd3JhcHBlci5leHBhbmRlZCAucmVhZC1tb3JlID4gLmljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAudGVzdGltb25pYWwtd3JhcHBlciAucmljaHRleHQge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAuc3ViLWluZm8td3JhcHBlciB7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAuc3ViLWluZm8td3JhcHBlcjpub3QoOmhhcyguc3Rhci13cmFwcGVyKSkge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zdGFyLXBhZGRpbmcpO1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fc2xpZGUgLnN1Yi1pbmZvLXdyYXBwZXIgLnN0YXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fc2xpZGUgLnN1Yi1pbmZvLXdyYXBwZXIgLnN0YXItd3JhcHBlciAuc3RhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgfVxuICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGFfX3NsaWRlIC5zdWItaW5mby13cmFwcGVyIC5zdGFyLXdyYXBwZXIgLnN0YXIgPiBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAuc3ViLWluZm8td3JhcHBlciAuc3Rhci13cmFwcGVyIC5zdGFyLWJhY2sge1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6IHJnYmEodmFyKC0tdGVzdGltb25pYWwtc3Rhci1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvci0xLXJnYikpLCAwLjMpO1xuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fc2xpZGUgLnN1Yi1pbmZvLXdyYXBwZXIgLnN0YXItd3JhcHBlciAuc3Rhci1mcm9udCB7XG4gICAgei1pbmRleDogMjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiByZ2IodmFyKC0tdGVzdGltb25pYWwtc3Rhci1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvci0xLXJnYikpKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDAgY2FsYygxMDAlIC0gdmFyKC0tZmlsbCkpIDAgMCk7XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19zbGlkZSAuc3ViLWluZm8td3JhcHBlciAuYXV0aG9yIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZmYtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAudGVzdGltb25pYWwtY2Fyb3VzZWwgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGFfX3NsaWRlIC5zdWItaW5mby13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgfVxuICB9XG4gIC50ZXN0aW1vbmlhbC1jYXJvdXNlbC5jZW50ZXIgLmNhcm91c2VsLWNvbXBvbmVudCB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAudGVzdGltb25pYWwtY2Fyb3VzZWw6aGFzKC50ZXN0aW1vbmlhbC1jb3VudC1vbmUpIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19jb250YWluZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg3NSUgLSAodmFyKC0tc2xpZGUtc3BhY2luZykpIC8gMik7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLnRlc3RpbW9uaWFsLWNhcm91c2VsOm5vdCg6aGFzKC50ZXN0aW1vbmlhbC1jb3VudC1vbmUpKTpub3QoOmhhcygudGVzdGltb25pYWwtY291bnQtdHdvKSkgLmNhcm91c2VsLWNvbXBvbmVudCAuZW1ibGFfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1zbGlkZS1zcGFjaW5nKSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc2xpZGUtc3BhY2luZyk7XG4gIH1cbn0iLCJAdXNlIFwiQGJhc2VsaW5lL3N0eWxlL2hlbHBlcnMvXCIgYXMgaDtcclxuXHJcbkBsYXllciBiYXNlIHtcclxuICAgIC5jYXJvdXNlbC1jb21wb25lbnQge1xyXG4gICAgICAgIC0tc2xpZGUtc3BhY2luZzogMzJweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgID4gLmVtYmxhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgPiAuZW1ibGFfX3ZpZXdwb3J0IHtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IC5lbWJsYV9fY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICA+IC5lbWJsYV9fc2xpZGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zbGlkZS1zcGFjaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5lbWJsYV9fbmF2aWdhdGlvbi1wcm9ncmVzcyB7XHJcbiAgICAgICAgICAgICAgICAmW3ZhbHVlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDJweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJlt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcm9ncmVzcy1iZy1jb2xvciwgdmFyKC0tc3VwcG9ydC1jb2xvci0xKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJlt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLWNvbG9yLCB2YXIoLS1wcmltYXJ5LWNvbG9yLTEtZGFyaykpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmVtYmxhX19kb3RzLW5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgLS1kb3QtY29sb3I6IHZhcigtLWNhcm91c2VsLWRvdC1jb2xvciwgdmFyKC0tYmxhY2stcmdiKSk7XHJcbiAgICAgICAgICAgICAgICAtLWRvdC1vcGFjaXR5OiB2YXIoLS1jYXJvdXNlbC1kb3Qtb3BhY2l0eSwgMC4zKTtcclxuICAgICAgICAgICAgICAgIC0tZG90LWhvdmVyLW9wYWNpdHk6IHZhcigtLWNhcm91c2VsLWRvdC1ob3Zlci1vcGFjaXR5LCAwLjEpO1xyXG4gICAgICAgICAgICAgICAgLS1zZWxlY3RlZC1kb3QtY29sb3I6IHZhcigtLWNhcm91c2VsLXNlbGVjdGVkLWRvdC1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvci0xKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgID4gLmRvdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1kb3QtY29sb3IpLCB2YXIoLS1kb3Qtb3BhY2l0eSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcm91bmQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWxlY3RlZC1kb3QtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoLmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoLmFjdGl2ZSk6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEodmFyKC0tZG90LWNvbG9yKSwgdmFyKC0tZG90LWhvdmVyLW9wYWNpdHkpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmVtYmxhX19idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuXHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYXJyb3ctY29sb3IsIHZhcigtLXdoaXRlKSk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IodmFyKC0tYXJyb3ctYmctY29sb3IsIHZhcigtLXByaW1hcnktY29sb3ItMS1kYXJrLXJnYikpKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaC5ob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSh2YXIoLS1hcnJvdy1iZy1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvci0xLWRhcmstcmdiKSksIDAuOCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgKyAuZW1ibGFfX2J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu79AdXNlIFwiQGJhc2VsaW5lL3N0eWxlL3ZhcmlhYmxlcy9cIiBhcyB2O1xyXG5AdXNlIFwiQGJhc2VsaW5lL3N0eWxlL3R5cG9ncmFwaHlcIiBhcyB0O1xyXG5cclxuQG1peGluIGNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgd2lkdGg6IG1pbih2YXIoLS1jb250YWluZXItbWF4LXdpZHRoKSwgMTAwJSAtIHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLWlubGluZSkpO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiB2LiRtZCkge1xyXG4gICAgICAgIC0tY29udGFpbmVyLXBhZGRpbmctaW5saW5lOiA3MnB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuZnVsbC13aWR0aCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGVmdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG59XHJcblxyXG5AbWl4aW4gcmlnaHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gaG92ZXIge1xyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOm5vdChbZGlzYWJsZWRdKTpob3ZlciB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGFjdGl2ZS1ob3ZlciB7XHJcbiAgICAmOm5vdChbZGlzYWJsZWRdKTphY3RpdmUge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNsYW1wKCRsaW5lczogMykge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lcztcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5AbWl4aW4gc21hbGwtZm9udC1zaXplIHtcclxuICAgIC0tX2ZvbnQtc2l6ZS1taW46IHZhcigtLWJvZHktZm9udC1zaXplLW1pbi1zbWFsbCk7XHJcbiAgICAtLV9mb250LXNpemUtbWF4OiB2YXIoLS1ib2R5LWZvbnQtc2l6ZS1tYXgtc21hbGwpO1xyXG4gICAgQGV4dGVuZCAlZm9udHNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpdW0tZm9udC1zaXplIHtcclxuICAgIC0tX2ZvbnQtc2l6ZS1taW46IHZhcigtLWJvZHktZm9udC1zaXplLW1pbi1tZWRpdW0pO1xyXG4gICAgLS1fZm9udC1zaXplLW1heDogdmFyKC0tYm9keS1mb250LXNpemUtbWF4LW1lZGl1bSk7XHJcbiAgICBAZXh0ZW5kICVmb250c2l6ZTtcclxufVxyXG5cclxuQG1peGluIGxhcmdlLWZvbnQtc2l6ZSB7XHJcbiAgICAtLV9mb250LXNpemUtbWluOiB2YXIoLS1ib2R5LWZvbnQtc2l6ZS1taW4tbGFyZ2UpO1xyXG4gICAgLS1fZm9udC1zaXplLW1heDogdmFyKC0tYm9keS1mb250LXNpemUtbWF4LWxhcmdlKTtcclxuICAgIEBleHRlbmQgJWZvbnRzaXplO1xyXG59XHJcblxyXG5AbWl4aW4gbWVkaWEoJG1lZGlhKSB7XHJcbiAgICBAaWYgJG1lZGlhID09bW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMHB4KSBhbmQgKG1heC13aWR0aDogdi4kbWQtbWF4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkbWVkaWEgPT1mcm9tLW1vYmlsZSB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IHYuJG1kKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkbWVkaWEgPT10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiB2LiRtZCkgYW5kIChtYXgtd2lkdGg6IHYuJGxnLW1heCkge1xyXG4gICAgICAgICAgICBAY29udGVudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJG1lZGlhID09ZnJvbS10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiB2LiRsZykge1xyXG4gICAgICAgICAgICBAY29udGVudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJG1lZGlhID09bGFwdG9wIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogdi4kbGcpIGFuZCAobWF4LXdpZHRoOiB2LiR4bC1tYXgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRtZWRpYSA9PWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiB2LiR4bCkge1xyXG4gICAgICAgICAgICBAY29udGVudFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkB1c2UgXCJAYmFzZWxpbmUvc3R5bGUvaGVscGVycy9cIiBhcyBoO1xyXG5AdXNlIFwiQGJhc2VsaW5lL3N0eWxlL3ZhcmlhYmxlcy9cIiBhcyB2O1xyXG5cclxuQGxheWVyIGNvbXBvbmVudHMge1xyXG4gICAgLnRlc3RpbW9uaWFsLWNhcm91c2VsIHtcclxuICAgICAgICAuY2Fyb3VzZWwtY29tcG9uZW50IHtcclxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XHJcbiAgICAgICAgICAgICAgICAtLXNsaWRlLXZpc2libGU6IDEgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgICAgICAtLXNsaWRlLXZpc2libGU6IDIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIC0tc2xpZGUtd2lkdGg6IGNhbGMoXHJcbiAgICAgICAgICAgICAgICAgICAgKDEwMCUgLyB2YXIoLS1zbGlkZS12aXNpYmxlKSkgLVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoKCh2YXIoLS1zbGlkZS12aXNpYmxlKSAtIDEpICogdmFyKC0tc2xpZGUtc3BhY2luZykpIC8gdmFyKC0tc2xpZGUtdmlzaWJsZSkpXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIC5lbWJsYV9fc2xpZGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tc2xpZGUtd2lkdGgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJvdXNlbC1jb21wb25lbnQge1xyXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogdi4kbWQpIHtcclxuICAgICAgICAgICAgICAgIC0tc2xpZGUtc3BhY2luZzogNDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAuZW1ibGEge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiB2LiRsZykge1xyXG4gICAgICAgICAgICAgICAgLS1zbGlkZS1zcGFjaW5nOiA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogdi4keGwpIHtcclxuICAgICAgICAgICAgICAgIC0tc2xpZGUtc3BhY2luZzogODBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IHYuJHh4bCkge1xyXG4gICAgICAgICAgICAgICAgLS1zbGlkZS1zcGFjaW5nOiAxMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IHYuJHh4eGwpIHtcclxuICAgICAgICAgICAgICAgIC0tc2xpZGUtc3BhY2luZzogMTYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5lbWJsYSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvO1xyXG4gICAgICAgICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tc2xpZGUtc3BhY2luZyk7XHJcbiAgICAgICAgICAgICAgICByb3ctZ2FwOiA0NHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIC5lbWJsYV9fdmlld3BvcnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5lbWJsYV9fYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuZW1ibGFfX2J1dHRvbi5wcmV2IHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIC0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5lbWJsYV9fYnV0dG9uLm5leHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmVtYmxhX19kb3RzLW5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogdi4kbWQtbWF4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAzMnB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZW1ibGFfX3ZpZXdwb3J0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZW1ibGFfX2J1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZW1ibGFfX2J1dHRvbi5wcmV2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmVtYmxhX19idXR0b24ubmV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5lbWJsYV9fZG90cy1uYXZpZ2F0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmVtYmxhX19jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXRlc3RpbW9uaWFsLWNvdW50LCAxMDApLCBjYWxjKDUwJSAtICh2YXIoLS1zbGlkZS1zcGFjaW5nKSkgLyAyKSk7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcclxuICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLXNsaWRlLXNwYWNpbmcpO1xyXG5cclxuICAgICAgICAgICAgICAgIC0tc3Rhci1wYWRkaW5nOiA2cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpoYXMoLnN0YXItd3JhcHBlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIC0tc3Rhci1wYWRkaW5nOiA1NnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiB2LiRtZC1tYXgpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS10ZXN0aW1vbmlhbC1jb3VudCwgMTAwKSwgY2FsYygxMDAlKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5lbWJsYV9fc2xpZGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gLTE7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLnRlc3RpbW9uaWFsLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAucmljaHRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA5ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgdmFyKC0tdHJhbnNpdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBoLm1lZGl1bS1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1yZWFkLW1vcmUtY29sb3IsIHZhcigtLXByaW1hcnktY29sb3ItMSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmNsYW1wZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAucmljaHRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaC5jbGFtcCg2KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5leHBhbmRlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yaWNodGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVhZC1tb3JlID4gLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IHYuJG1kLW1heCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAucmljaHRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuc3ViLWluZm8td3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpoYXMoLnN0YXItd3JhcHBlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXN0YXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuc3Rhci13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdhcDogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3RhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IHN2ZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN0YXItYmFjayB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEodmFyKC0tdGVzdGltb25pYWwtc3Rhci1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvci0xLXJnYikpLCAwLjMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Rhci1mcm9udCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2IodmFyKC0tdGVzdGltb25pYWwtc3Rhci1jb2xvciwgdmFyKC0tcHJpbWFyeS1jb2xvci0xLXJnYikpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoMCBjYWxjKDEwMCUgLSB2YXIoLS1maWxsKSkgMCAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmF1dGhvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mZi1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiB2LiRtZC1tYXgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY2VudGVyIHtcclxuICAgICAgICAgICAgLmNhcm91c2VsLWNvbXBvbmVudCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhhcygudGVzdGltb25pYWwtY291bnQtb25lKSB7XHJcbiAgICAgICAgICAgIC5jYXJvdXNlbC1jb21wb25lbnQgLmVtYmxhX19jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDc1JSAtICh2YXIoLS1zbGlkZS1zcGFjaW5nKSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6aGFzKC50ZXN0aW1vbmlhbC1jb3VudC1vbmUpKTpub3QoOmhhcygudGVzdGltb25pYWwtY291bnQtdHdvKSkge1xyXG4gICAgICAgICAgICAuY2Fyb3VzZWwtY29tcG9uZW50IC5lbWJsYV9fc2xpZGU6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tc2xpZGUtc3BhY2luZykpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc2xpZGUtc3BhY2luZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/