/**
 * Strips the unit from a given number-unit-combination and returns the number. 
 * @link: http://stackoverflow.com/a/12335841/1779999
 * @usage: parse-int(10px) => 10
 */
/**
 * Simply adds the em unit to a given number. This is used twice in the
 * function underneath, thus the need for a separate function.
 */
/**
 * Calculates em values for a given list of (px or em) values and a given em
 * base. Multiply base values for nested em structures (last @usage example).
 * @usage: em(10px, 1.125) => .55556em
 *         em(24px, .875em) => 1.71429em
 *         em(12px 0 7em rgba(0, 0, 0, .7), 1.75) => .42857em 0 4em rgba(0, 0, 0, 0.7)
 *         em(12px) + em(3em) => 3.75em
 *         em(23px, em(53px)) => .43396em
 *         em(24px, 1.5 * 1.125) => .88889em
 */
@-webkit-keyframes marquee {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); /* Start at the original position */
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); /* Move fully to the left */
  }
}
@keyframes marquee {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); /* Start at the original position */
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0); /* Move fully to the left */
  }
}
.mobile-has-xs-margin-size {
  margin: 0.25rem;
}

.mobile-has-xs-margin-top-size {
  margin-top: 0.25rem;
}

.mobile-has-xs-margin-right-size {
  margin-right: 0.25rem;
}

.mobile-has-xs-margin-bottom-size {
  margin-bottom: 0.25rem;
}

.mobile-has-xs-margin-left-size {
  margin-left: 0.25rem;
}

.mobile-has-xs-padding-size {
  padding: 0.25rem;
}

.mobile-has-xs-padding-top-size {
  padding-top: 0.25rem;
}

.mobile-has-xs-padding-right-size {
  padding-right: 0.25rem;
}

.mobile-has-xs-padding-bottom-size {
  padding-bottom: 0.25rem;
}

.mobile-has-xs-padding-left-size {
  padding-left: 0.25rem;
}

.mobile-has-xs-gap-size {
  gap: 0.25rem;
}

.mobile-has-s-margin-size {
  margin: 0.5rem;
}

.mobile-has-s-margin-top-size {
  margin-top: 0.5rem;
}

.mobile-has-s-margin-right-size {
  margin-right: 0.5rem;
}

.mobile-has-s-margin-bottom-size {
  margin-bottom: 0.5rem;
}

.mobile-has-s-margin-left-size {
  margin-left: 0.5rem;
}

.mobile-has-s-padding-size {
  padding: 0.5rem;
}

.mobile-has-s-padding-top-size {
  padding-top: 0.5rem;
}

.mobile-has-s-padding-right-size {
  padding-right: 0.5rem;
}

.mobile-has-s-padding-bottom-size {
  padding-bottom: 0.5rem;
}

.mobile-has-s-padding-left-size {
  padding-left: 0.5rem;
}

.mobile-has-s-gap-size {
  gap: 0.5rem;
}

.mobile-has-d-margin-size {
  margin: 0.75rem;
}

.mobile-has-d-margin-top-size {
  margin-top: 0.75rem;
}

.mobile-has-d-margin-right-size {
  margin-right: 0.75rem;
}

.mobile-has-d-margin-bottom-size {
  margin-bottom: 0.75rem;
}

.mobile-has-d-margin-left-size {
  margin-left: 0.75rem;
}

.mobile-has-d-padding-size {
  padding: 0.75rem;
}

.mobile-has-d-padding-top-size {
  padding-top: 0.75rem;
}

.mobile-has-d-padding-right-size {
  padding-right: 0.75rem;
}

.mobile-has-d-padding-bottom-size {
  padding-bottom: 0.75rem;
}

.mobile-has-d-padding-left-size {
  padding-left: 0.75rem;
}

.mobile-has-d-gap-size {
  gap: 0.75rem;
}

.mobile-has-m-margin-size {
  margin: 1rem;
}

.mobile-has-m-margin-top-size {
  margin-top: 1rem;
}

.mobile-has-m-margin-right-size {
  margin-right: 1rem;
}

.mobile-has-m-margin-bottom-size {
  margin-bottom: 1rem;
}

.mobile-has-m-margin-left-size {
  margin-left: 1rem;
}

.mobile-has-m-padding-size {
  padding: 1rem;
}

.mobile-has-m-padding-top-size {
  padding-top: 1rem;
}

.mobile-has-m-padding-right-size {
  padding-right: 1rem;
}

.mobile-has-m-padding-bottom-size {
  padding-bottom: 1rem;
}

.mobile-has-m-padding-left-size {
  padding-left: 1rem;
}

.mobile-has-m-gap-size {
  gap: 1rem;
}

.mobile-has-l-margin-size {
  margin: 1.25rem;
}

.mobile-has-l-margin-top-size {
  margin-top: 1.25rem;
}

.mobile-has-l-margin-right-size {
  margin-right: 1.25rem;
}

.mobile-has-l-margin-bottom-size {
  margin-bottom: 1.25rem;
}

.mobile-has-l-margin-left-size {
  margin-left: 1.25rem;
}

.mobile-has-l-padding-size {
  padding: 1.25rem;
}

.mobile-has-l-padding-top-size {
  padding-top: 1.25rem;
}

.mobile-has-l-padding-right-size {
  padding-right: 1.25rem;
}

.mobile-has-l-padding-bottom-size {
  padding-bottom: 1.25rem;
}

.mobile-has-l-padding-left-size {
  padding-left: 1.25rem;
}

.mobile-has-l-gap-size {
  gap: 1.25rem;
}

.mobile-has-xl-margin-size {
  margin: 1.5rem;
}

.mobile-has-xl-margin-top-size {
  margin-top: 1.5rem;
}

.mobile-has-xl-margin-right-size {
  margin-right: 1.5rem;
}

.mobile-has-xl-margin-bottom-size {
  margin-bottom: 1.5rem;
}

.mobile-has-xl-margin-left-size {
  margin-left: 1.5rem;
}

.mobile-has-xl-padding-size {
  padding: 1.5rem;
}

.mobile-has-xl-padding-top-size {
  padding-top: 1.5rem;
}

.mobile-has-xl-padding-right-size {
  padding-right: 1.5rem;
}

.mobile-has-xl-padding-bottom-size {
  padding-bottom: 1.5rem;
}

.mobile-has-xl-padding-left-size {
  padding-left: 1.5rem;
}

.mobile-has-xl-gap-size {
  gap: 1.5rem;
}

.mobile-has-xxl-margin-size {
  margin: 1.75rem;
}

.mobile-has-xxl-margin-top-size {
  margin-top: 1.75rem;
}

.mobile-has-xxl-margin-right-size {
  margin-right: 1.75rem;
}

.mobile-has-xxl-margin-bottom-size {
  margin-bottom: 1.75rem;
}

.mobile-has-xxl-margin-left-size {
  margin-left: 1.75rem;
}

.mobile-has-xxl-padding-size {
  padding: 1.75rem;
}

.mobile-has-xxl-padding-top-size {
  padding-top: 1.75rem;
}

.mobile-has-xxl-padding-right-size {
  padding-right: 1.75rem;
}

.mobile-has-xxl-padding-bottom-size {
  padding-bottom: 1.75rem;
}

.mobile-has-xxl-padding-left-size {
  padding-left: 1.75rem;
}

.mobile-has-xxl-gap-size {
  gap: 1.75rem;
}

.mobile-has-xxxl-margin-size {
  margin: 2rem;
}

.mobile-has-xxxl-margin-top-size {
  margin-top: 2rem;
}

.mobile-has-xxxl-margin-right-size {
  margin-right: 2rem;
}

.mobile-has-xxxl-margin-bottom-size {
  margin-bottom: 2rem;
}

.mobile-has-xxxl-margin-left-size {
  margin-left: 2rem;
}

.mobile-has-xxxl-padding-size {
  padding: 2rem;
}

.mobile-has-xxxl-padding-top-size {
  padding-top: 2rem;
}

.mobile-has-xxxl-padding-right-size {
  padding-right: 2rem;
}

.mobile-has-xxxl-padding-bottom-size {
  padding-bottom: 2rem;
}

.mobile-has-xxxl-padding-left-size {
  padding-left: 2rem;
}

.mobile-has-xxxl-gap-size {
  gap: 2rem;
}

@media (min-width: 768px) {
  .tablet-has-xs-margin-size {
    margin: 0.375rem;
  }
  .tablet-has-xs-margin-top-size {
    margin-top: 0.375rem;
  }
  .tablet-has-xs-margin-right-size {
    margin-right: 0.375rem;
  }
  .tablet-has-xs-margin-bottom-size {
    margin-bottom: 0.375rem;
  }
  .tablet-has-xs-margin-left-size {
    margin-left: 0.375rem;
  }
  .tablet-has-xs-padding-size {
    padding: 0.375rem;
  }
  .tablet-has-xs-padding-top-size {
    padding-top: 0.375rem;
  }
  .tablet-has-xs-padding-right-size {
    padding-right: 0.375rem;
  }
  .tablet-has-xs-padding-bottom-size {
    padding-bottom: 0.375rem;
  }
  .tablet-has-xs-padding-left-size {
    padding-left: 0.375rem;
  }
  .tablet-has-xs-gap-size {
    gap: 0.375rem;
  }
  .tablet-has-s-margin-size {
    margin: 0.625rem;
  }
  .tablet-has-s-margin-top-size {
    margin-top: 0.625rem;
  }
  .tablet-has-s-margin-right-size {
    margin-right: 0.625rem;
  }
  .tablet-has-s-margin-bottom-size {
    margin-bottom: 0.625rem;
  }
  .tablet-has-s-margin-left-size {
    margin-left: 0.625rem;
  }
  .tablet-has-s-padding-size {
    padding: 0.625rem;
  }
  .tablet-has-s-padding-top-size {
    padding-top: 0.625rem;
  }
  .tablet-has-s-padding-right-size {
    padding-right: 0.625rem;
  }
  .tablet-has-s-padding-bottom-size {
    padding-bottom: 0.625rem;
  }
  .tablet-has-s-padding-left-size {
    padding-left: 0.625rem;
  }
  .tablet-has-s-gap-size {
    gap: 0.625rem;
  }
  .tablet-has-d-margin-size {
    margin: 1rem;
  }
  .tablet-has-d-margin-top-size {
    margin-top: 1rem;
  }
  .tablet-has-d-margin-right-size {
    margin-right: 1rem;
  }
  .tablet-has-d-margin-bottom-size {
    margin-bottom: 1rem;
  }
  .tablet-has-d-margin-left-size {
    margin-left: 1rem;
  }
  .tablet-has-d-padding-size {
    padding: 1rem;
  }
  .tablet-has-d-padding-top-size {
    padding-top: 1rem;
  }
  .tablet-has-d-padding-right-size {
    padding-right: 1rem;
  }
  .tablet-has-d-padding-bottom-size {
    padding-bottom: 1rem;
  }
  .tablet-has-d-padding-left-size {
    padding-left: 1rem;
  }
  .tablet-has-d-gap-size {
    gap: 1rem;
  }
  .tablet-has-m-margin-size {
    margin: 1.25rem;
  }
  .tablet-has-m-margin-top-size {
    margin-top: 1.25rem;
  }
  .tablet-has-m-margin-right-size {
    margin-right: 1.25rem;
  }
  .tablet-has-m-margin-bottom-size {
    margin-bottom: 1.25rem;
  }
  .tablet-has-m-margin-left-size {
    margin-left: 1.25rem;
  }
  .tablet-has-m-padding-size {
    padding: 1.25rem;
  }
  .tablet-has-m-padding-top-size {
    padding-top: 1.25rem;
  }
  .tablet-has-m-padding-right-size {
    padding-right: 1.25rem;
  }
  .tablet-has-m-padding-bottom-size {
    padding-bottom: 1.25rem;
  }
  .tablet-has-m-padding-left-size {
    padding-left: 1.25rem;
  }
  .tablet-has-m-gap-size {
    gap: 1.25rem;
  }
  .tablet-has-l-margin-size {
    margin: 1.625rem;
  }
  .tablet-has-l-margin-top-size {
    margin-top: 1.625rem;
  }
  .tablet-has-l-margin-right-size {
    margin-right: 1.625rem;
  }
  .tablet-has-l-margin-bottom-size {
    margin-bottom: 1.625rem;
  }
  .tablet-has-l-margin-left-size {
    margin-left: 1.625rem;
  }
  .tablet-has-l-padding-size {
    padding: 1.625rem;
  }
  .tablet-has-l-padding-top-size {
    padding-top: 1.625rem;
  }
  .tablet-has-l-padding-right-size {
    padding-right: 1.625rem;
  }
  .tablet-has-l-padding-bottom-size {
    padding-bottom: 1.625rem;
  }
  .tablet-has-l-padding-left-size {
    padding-left: 1.625rem;
  }
  .tablet-has-l-gap-size {
    gap: 1.625rem;
  }
  .tablet-has-xl-margin-size {
    margin: 2.125rem;
  }
  .tablet-has-xl-margin-top-size {
    margin-top: 2.125rem;
  }
  .tablet-has-xl-margin-right-size {
    margin-right: 2.125rem;
  }
  .tablet-has-xl-margin-bottom-size {
    margin-bottom: 2.125rem;
  }
  .tablet-has-xl-margin-left-size {
    margin-left: 2.125rem;
  }
  .tablet-has-xl-padding-size {
    padding: 2.125rem;
  }
  .tablet-has-xl-padding-top-size {
    padding-top: 2.125rem;
  }
  .tablet-has-xl-padding-right-size {
    padding-right: 2.125rem;
  }
  .tablet-has-xl-padding-bottom-size {
    padding-bottom: 2.125rem;
  }
  .tablet-has-xl-padding-left-size {
    padding-left: 2.125rem;
  }
  .tablet-has-xl-gap-size {
    gap: 2.125rem;
  }
  .tablet-has-xxl-margin-size {
    margin: 2.375rem;
  }
  .tablet-has-xxl-margin-top-size {
    margin-top: 2.375rem;
  }
  .tablet-has-xxl-margin-right-size {
    margin-right: 2.375rem;
  }
  .tablet-has-xxl-margin-bottom-size {
    margin-bottom: 2.375rem;
  }
  .tablet-has-xxl-margin-left-size {
    margin-left: 2.375rem;
  }
  .tablet-has-xxl-padding-size {
    padding: 2.375rem;
  }
  .tablet-has-xxl-padding-top-size {
    padding-top: 2.375rem;
  }
  .tablet-has-xxl-padding-right-size {
    padding-right: 2.375rem;
  }
  .tablet-has-xxl-padding-bottom-size {
    padding-bottom: 2.375rem;
  }
  .tablet-has-xxl-padding-left-size {
    padding-left: 2.375rem;
  }
  .tablet-has-xxl-gap-size {
    gap: 2.375rem;
  }
  .tablet-has-xxxl-margin-size {
    margin: 2.75rem;
  }
  .tablet-has-xxxl-margin-top-size {
    margin-top: 2.75rem;
  }
  .tablet-has-xxxl-margin-right-size {
    margin-right: 2.75rem;
  }
  .tablet-has-xxxl-margin-bottom-size {
    margin-bottom: 2.75rem;
  }
  .tablet-has-xxxl-margin-left-size {
    margin-left: 2.75rem;
  }
  .tablet-has-xxxl-padding-size {
    padding: 2.75rem;
  }
  .tablet-has-xxxl-padding-top-size {
    padding-top: 2.75rem;
  }
  .tablet-has-xxxl-padding-right-size {
    padding-right: 2.75rem;
  }
  .tablet-has-xxxl-padding-bottom-size {
    padding-bottom: 2.75rem;
  }
  .tablet-has-xxxl-padding-left-size {
    padding-left: 2.75rem;
  }
  .tablet-has-xxxl-gap-size {
    gap: 2.75rem;
  }
}
@media (min-width: 1280px) {
  .desktop-has-xs-margin-size {
    margin: 0.5rem;
  }
  .desktop-has-xs-margin-top-size {
    margin-top: 0.5rem;
  }
  .desktop-has-xs-margin-right-size {
    margin-right: 0.5rem;
  }
  .desktop-has-xs-margin-bottom-size {
    margin-bottom: 0.5rem;
  }
  .desktop-has-xs-margin-left-size {
    margin-left: 0.5rem;
  }
  .desktop-has-xs-padding-size {
    padding: 0.5rem;
  }
  .desktop-has-xs-padding-top-size {
    padding-top: 0.5rem;
  }
  .desktop-has-xs-padding-right-size {
    padding-right: 0.5rem;
  }
  .desktop-has-xs-padding-bottom-size {
    padding-bottom: 0.5rem;
  }
  .desktop-has-xs-padding-left-size {
    padding-left: 0.5rem;
  }
  .desktop-has-xs-gap-size {
    gap: 0.5rem;
  }
  .desktop-has-s-margin-size {
    margin: 0.75rem;
  }
  .desktop-has-s-margin-top-size {
    margin-top: 0.75rem;
  }
  .desktop-has-s-margin-right-size {
    margin-right: 0.75rem;
  }
  .desktop-has-s-margin-bottom-size {
    margin-bottom: 0.75rem;
  }
  .desktop-has-s-margin-left-size {
    margin-left: 0.75rem;
  }
  .desktop-has-s-padding-size {
    padding: 0.75rem;
  }
  .desktop-has-s-padding-top-size {
    padding-top: 0.75rem;
  }
  .desktop-has-s-padding-right-size {
    padding-right: 0.75rem;
  }
  .desktop-has-s-padding-bottom-size {
    padding-bottom: 0.75rem;
  }
  .desktop-has-s-padding-left-size {
    padding-left: 0.75rem;
  }
  .desktop-has-s-gap-size {
    gap: 0.75rem;
  }
  .desktop-has-d-margin-size {
    margin: 1.25rem;
  }
  .desktop-has-d-margin-top-size {
    margin-top: 1.25rem;
  }
  .desktop-has-d-margin-right-size {
    margin-right: 1.25rem;
  }
  .desktop-has-d-margin-bottom-size {
    margin-bottom: 1.25rem;
  }
  .desktop-has-d-margin-left-size {
    margin-left: 1.25rem;
  }
  .desktop-has-d-padding-size {
    padding: 1.25rem;
  }
  .desktop-has-d-padding-top-size {
    padding-top: 1.25rem;
  }
  .desktop-has-d-padding-right-size {
    padding-right: 1.25rem;
  }
  .desktop-has-d-padding-bottom-size {
    padding-bottom: 1.25rem;
  }
  .desktop-has-d-padding-left-size {
    padding-left: 1.25rem;
  }
  .desktop-has-d-gap-size {
    gap: 1.25rem;
  }
  .desktop-has-m-margin-size {
    margin: 1.5rem;
  }
  .desktop-has-m-margin-top-size {
    margin-top: 1.5rem;
  }
  .desktop-has-m-margin-right-size {
    margin-right: 1.5rem;
  }
  .desktop-has-m-margin-bottom-size {
    margin-bottom: 1.5rem;
  }
  .desktop-has-m-margin-left-size {
    margin-left: 1.5rem;
  }
  .desktop-has-m-padding-size {
    padding: 1.5rem;
  }
  .desktop-has-m-padding-top-size {
    padding-top: 1.5rem;
  }
  .desktop-has-m-padding-right-size {
    padding-right: 1.5rem;
  }
  .desktop-has-m-padding-bottom-size {
    padding-bottom: 1.5rem;
  }
  .desktop-has-m-padding-left-size {
    padding-left: 1.5rem;
  }
  .desktop-has-m-gap-size {
    gap: 1.5rem;
  }
  .desktop-has-l-margin-size {
    margin: 2rem;
  }
  .desktop-has-l-margin-top-size {
    margin-top: 2rem;
  }
  .desktop-has-l-margin-right-size {
    margin-right: 2rem;
  }
  .desktop-has-l-margin-bottom-size {
    margin-bottom: 2rem;
  }
  .desktop-has-l-margin-left-size {
    margin-left: 2rem;
  }
  .desktop-has-l-padding-size {
    padding: 2rem;
  }
  .desktop-has-l-padding-top-size {
    padding-top: 2rem;
  }
  .desktop-has-l-padding-right-size {
    padding-right: 2rem;
  }
  .desktop-has-l-padding-bottom-size {
    padding-bottom: 2rem;
  }
  .desktop-has-l-padding-left-size {
    padding-left: 2rem;
  }
  .desktop-has-l-gap-size {
    gap: 2rem;
  }
  .desktop-has-xl-margin-size {
    margin: 2.5rem;
  }
  .desktop-has-xl-margin-top-size {
    margin-top: 2.5rem;
  }
  .desktop-has-xl-margin-right-size {
    margin-right: 2.5rem;
  }
  .desktop-has-xl-margin-bottom-size {
    margin-bottom: 2.5rem;
  }
  .desktop-has-xl-margin-left-size {
    margin-left: 2.5rem;
  }
  .desktop-has-xl-padding-size {
    padding: 2.5rem;
  }
  .desktop-has-xl-padding-top-size {
    padding-top: 2.5rem;
  }
  .desktop-has-xl-padding-right-size {
    padding-right: 2.5rem;
  }
  .desktop-has-xl-padding-bottom-size {
    padding-bottom: 2.5rem;
  }
  .desktop-has-xl-padding-left-size {
    padding-left: 2.5rem;
  }
  .desktop-has-xl-gap-size {
    gap: 2.5rem;
  }
  .desktop-has-xxl-margin-size {
    margin: 2.75rem;
  }
  .desktop-has-xxl-margin-top-size {
    margin-top: 2.75rem;
  }
  .desktop-has-xxl-margin-right-size {
    margin-right: 2.75rem;
  }
  .desktop-has-xxl-margin-bottom-size {
    margin-bottom: 2.75rem;
  }
  .desktop-has-xxl-margin-left-size {
    margin-left: 2.75rem;
  }
  .desktop-has-xxl-padding-size {
    padding: 2.75rem;
  }
  .desktop-has-xxl-padding-top-size {
    padding-top: 2.75rem;
  }
  .desktop-has-xxl-padding-right-size {
    padding-right: 2.75rem;
  }
  .desktop-has-xxl-padding-bottom-size {
    padding-bottom: 2.75rem;
  }
  .desktop-has-xxl-padding-left-size {
    padding-left: 2.75rem;
  }
  .desktop-has-xxl-gap-size {
    gap: 2.75rem;
  }
  .desktop-has-xxxl-margin-size {
    margin: 3.125rem;
  }
  .desktop-has-xxxl-margin-top-size {
    margin-top: 3.125rem;
  }
  .desktop-has-xxxl-margin-right-size {
    margin-right: 3.125rem;
  }
  .desktop-has-xxxl-margin-bottom-size {
    margin-bottom: 3.125rem;
  }
  .desktop-has-xxxl-margin-left-size {
    margin-left: 3.125rem;
  }
  .desktop-has-xxxl-padding-size {
    padding: 3.125rem;
  }
  .desktop-has-xxxl-padding-top-size {
    padding-top: 3.125rem;
  }
  .desktop-has-xxxl-padding-right-size {
    padding-right: 3.125rem;
  }
  .desktop-has-xxxl-padding-bottom-size {
    padding-bottom: 3.125rem;
  }
  .desktop-has-xxxl-padding-left-size {
    padding-left: 3.125rem;
  }
  .desktop-has-xxxl-gap-size {
    gap: 3.125rem;
  }
}
.border-radius-s {
  border-radius: 0.75rem;
}

.border-radius-m {
  border-radius: 1.5rem;
}

@media (max-width: 1023px) {
  .justify-content-center-mobile {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important;
  }
}

@media (min-width: 768px) {
  .narrow-content-286 {
    max-width: 17.875rem;
    width: 100%;
  }
}

@media (min-width: 1024px) {
  .narrow-content-340 {
    max-width: 21.25rem;
  }
}

.narrow-content-380 {
  max-width: 23.75rem;
}

.narrow-content-450 {
  max-width: 28.125rem;
}

.narrow-content-480 {
  max-width: 30rem;
}

.narrow-content-500 {
  max-width: 31.25rem;
}

.narrow-content-600 {
  max-width: 37.5rem;
  margin: 0 auto;
}

.narrow-content-720 {
  max-width: 45rem;
  margin: 0 auto;
}

.narrow-content-770 {
  max-width: 48.125rem;
  margin: 0 auto;
}

.narrow-content-940 {
  max-width: 58.75rem;
}

.narrow-content-1060 {
  max-width: 66.25rem;
  margin: 0 auto;
}

.width-100 {
  width: 100%;
}

.link-button {
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  color: #007953;
  padding: 0.75rem 0;
}

.link-button-white {
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  padding: 0.75rem 0;
}

.link-with-arrow-right {
  position: relative;
  padding-right: 1.75rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.link-with-arrow-right:after {
  content: url("/wp-content/themes/humanitas-ai/assets/images/arrow-right.svg");
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.link-with-arrow-right-white {
  position: relative;
  padding-right: 1.75rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.link-with-arrow-right-white:after {
  content: url("/wp-content/themes/humanitas-ai/assets/images/arrow-right-white.svg");
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media (max-width: 767px) {
  .hide-on-mobile {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .hide-on-desktop {
    display: none !important;
  }
}

.m-b-16 {
  margin-bottom: 1rem;
}

.m-b-24 {
  margin-bottom: 1.5rem;
}

.m-b-32 {
  margin-bottom: 2rem;
}

.m-b-40 {
  margin-bottom: 2.5rem;
}

.no-pd-top {
  padding-top: 0 !important;
}

.no-pd-bt {
  padding-bottom: 0 !important;
}

.pill {
  border: 1.5px solid #007953;
  border-radius: 1.875rem;
  padding: 0.375rem 1.125rem;
  text-transform: uppercase;
  color: #007953;
}

.side-vectors {
  position: relative;
}
@media (min-width: 1024px) {
  .side-vectors:before {
    content: url("/wp-content/themes/humanitas-ai/assets/images/block-project-vector1.svg");
    position: absolute;
    left: calc((100vw - 93%) / -2);
    top: 50%;
    z-index: -1;
  }
}
@media (min-width: 1024px) {
  .side-vectors:after {
    content: url("/wp-content/themes/humanitas-ai/assets/images/block-project-vector2.svg");
    position: absolute;
    right: calc((100vw - 93%) / -2);
    top: -1.25rem;
    z-index: -1;
  }
}

.side-vectors-block {
  position: relative;
}
@media (min-width: 1024px) {
  .side-vectors-block:before {
    content: url("/wp-content/themes/humanitas-ai/assets/images/block-project-vector1.svg");
    position: absolute;
    left: calc((100vw - 93%) / -2);
    top: 50%;
    z-index: -1;
  }
}
@media (min-width: 1024px) {
  .side-vectors-block:after {
    content: url("/wp-content/themes/humanitas-ai/assets/images/block-project-vector2.svg");
    position: absolute;
    right: calc((100vw - 93%) / -2);
    top: -1.25rem;
    z-index: -1;
  }
}

.divider {
  height: 1px;
  background: #D3D3D3;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  background-clip: content-box;
}

.sectionPaddingXS {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media (min-width: 768px) {
  .sectionPaddingXS {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}
@media (min-width: 1024px) {
  .sectionPaddingXS {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.sectionPaddingM {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .sectionPaddingM {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}
@media (min-width: 1024px) {
  .sectionPaddingM {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.sectionPaddingL {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (min-width: 768px) {
  .sectionPaddingL {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}
@media (min-width: 1024px) {
  .sectionPaddingL {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

.sectionPadding-D-100 {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
@media (min-width: 768px) {
  .sectionPadding-D-100 {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media (min-width: 1024px) {
  .sectionPadding-D-100 {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem;
  }
}

.line-height-1-45 {
  line-height: 1.45;
}

.font-size-20 {
  font-size: 1.125rem;
}
@media (min-width: 1024px) {
  .font-size-20 {
    font-size: 1.25rem;
  }
}

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

.border-gradient {
  position: relative;
  position: relative;
}
.border-gradient::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: linear-gradient(91.5deg, #A8F0D2 -3.73%, rgba(0, 121, 83, 0) 17.81%), linear-gradient(297.76deg, #A8F0D2 3.58%, rgba(0, 121, 83, 0) 25.14%);
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff)) content-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.projects-block {
  position: relative;
}
.projects-block .projects-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 1.5rem 0;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper {
    gap: 1.25rem;
    padding: 3.125rem 0;
  }
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
.projects-block .projects-wrapper .project-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper .project-group {
    gap: 1.25rem;
  }
}
@media (max-width: 1023px) {
  .projects-block .projects-wrapper .project-group:nth-child(3) {
    grid-column: 1/-1; /* Ensure the third column spans full width */
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.projects-block .projects-wrapper .single-project-block {
  cursor: pointer;
  border-radius: 0.75rem;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper .single-project-block:hover a:before {
    opacity: 0;
  }
  .projects-block .projects-wrapper .single-project-block:hover a .hover-state {
    top: 0;
  }
  .projects-block .projects-wrapper .single-project-block:hover a .project-title {
    opacity: 0;
  }
}
.projects-block .projects-wrapper .single-project-block.small {
  height: 15.625rem;
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper .single-project-block.small {
    height: 17.375rem;
  }
}
.projects-block .projects-wrapper .single-project-block.big {
  height: 23.125rem;
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper .single-project-block.big {
    height: 30.4375rem;
  }
}
.projects-block .projects-wrapper .single-project-block a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 2rem 1.5rem;
  background-blend-mode: overlay;
  position: relative;
}
.projects-block .projects-wrapper .single-project-block a:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.7)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, 0.7) 100%);
  opacity: 1;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper .single-project-block a:before {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(95%, rgba(0, 0, 0, 0.7)));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.7) 95%);
  }
}
.projects-block .projects-wrapper .single-project-block a .project-title {
  font-size: 1rem;
  color: #fff;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  opacity: 1;
  z-index: 1;
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper .single-project-block a .project-title {
    font-size: 1.25rem;
  }
}
.projects-block .projects-wrapper .single-project-block a .hover-state {
  display: none;
  cursor: pointer;
}
@media (min-width: 1024px) {
  .projects-block .projects-wrapper .single-project-block a .hover-state {
    background: url("/wp-content/themes/humanitas-ai/assets/images/hover-state-bg.png");
    position: absolute;
    width: 100%;
    height: 100%;
    top: 100%;
    left: 0;
    z-index: 2;
    padding: 2rem 1.5rem;
    -webkit-transition: top 0.6s ease-in-out;
    transition: top 0.6s ease-in-out;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 1.25rem;
  }
  .projects-block .projects-wrapper .single-project-block a .hover-state:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(255, 255, 255, 0.4);
    -webkit-backdrop-filter: blur(12px);
            backdrop-filter: blur(12px);
  }
  .projects-block .projects-wrapper .single-project-block a .hover-state > * {
    z-index: 3;
  }
}
.projects-block .projects-wrapper .single-project-block a .hover-state h3 {
  font-size: 1.375rem;
  color: #000;
}
.projects-block .projects-wrapper .single-project-block a .hover-state p {
  margin: 0;
  color: #fff;
}
.projects-block .projects-wrapper .single-project-block a .hover-state span {
  color: #007953;
  cursor: pointer;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Fzc2V0cy9zYXNzL3ZhcmlhYmxlcy9fc2l6aW5nLWZ1bmN0aW9ucy5zY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvbWl4aW5zL19taXhpbnMtbWFzdGVyLnNjc3MiLCJibG9jay1wcm9qZWN0cy9zY3NzL2Jsb2NrLXByb2plY3RzLmNzcyIsIi4uLy4uL2Fzc2V0cy9zYXNzL3ZhcmlhYmxlcy9fcmV1c2FibGUtY2xhc3Nlcy5zY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvdmFyaWFibGVzL19icmVha3BvaW50cy5zY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvdmFyaWFibGVzL19zdHJ1Y3R1cmUuc2NzcyIsIi4uLy4uL2Fzc2V0cy9zYXNzL3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vYXNzZXRzL3Nhc3MvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsImJsb2NrLXByb2plY3RzL3Njc3MvYmxvY2stcHJvamVjdHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7OztFQUFBO0FBV0U7OztFQUFBO0FBYUE7Ozs7Ozs7OztFQUFBO0FDNEhGO0VBQ0U7SUFDRSx1Q0FBQTtZQUFBLCtCQUFBLEVBQUEsbUNBQUE7RUNwSUY7RURzSUE7SUFDRSwyQ0FBQTtZQUFBLG1DQUFBLEVBQUEsMkJBQUE7RUNwSUY7QUFDRjtBRDhIQTtFQUNFO0lBQ0UsdUNBQUE7WUFBQSwrQkFBQSxFQUFBLG1DQUFBO0VDcElGO0VEc0lBO0lBQ0UsMkNBQUE7WUFBQSxtQ0FBQSxFQUFBLDJCQUFBO0VDcElGO0FBQ0Y7QURlTTtFQUNFLGVFdENPO0FEeUJmOztBRGVNO0VBQ0UsbUJFekNPO0FENkJmOztBRGNNO0VBQ0UscUJFNUNPO0FEaUNmOztBRGFNO0VBQ0Usc0JFL0NPO0FEcUNmOztBRFlNO0VBQ0Usb0JFbERPO0FEeUNmOztBRFdNO0VBQ0UsZ0JFckRPO0FENkNmOztBRFVNO0VBQ0Usb0JFeERPO0FEaURmOztBRFNNO0VBQ0Usc0JFM0RPO0FEcURmOztBRFFNO0VBQ0UsdUJFOURPO0FEeURmOztBRE9NO0VBQ0UscUJFakVPO0FENkRmOztBRE1NO0VBQ0UsWUVwRU87QURpRWY7O0FENUJNO0VBQ0UsY0V0Q087QURxRWY7O0FEN0JNO0VBQ0Usa0JFekNPO0FEeUVmOztBRDlCTTtFQUNFLG9CRTVDTztBRDZFZjs7QUQvQk07RUFDRSxxQkUvQ087QURpRmY7O0FEaENNO0VBQ0UsbUJFbERPO0FEcUZmOztBRGpDTTtFQUNFLGVFckRPO0FEeUZmOztBRGxDTTtFQUNFLG1CRXhETztBRDZGZjs7QURuQ007RUFDRSxxQkUzRE87QURpR2Y7O0FEcENNO0VBQ0Usc0JFOURPO0FEcUdmOztBRHJDTTtFQUNFLG9CRWpFTztBRHlHZjs7QUR0Q007RUFDRSxXRXBFTztBRDZHZjs7QUR4RU07RUFDRSxlRXRDTztBRGlIZjs7QUR6RU07RUFDRSxtQkV6Q087QURxSGY7O0FEMUVNO0VBQ0UscUJFNUNPO0FEeUhmOztBRDNFTTtFQUNFLHNCRS9DTztBRDZIZjs7QUQ1RU07RUFDRSxvQkVsRE87QURpSWY7O0FEN0VNO0VBQ0UsZ0JFckRPO0FEcUlmOztBRDlFTTtFQUNFLG9CRXhETztBRHlJZjs7QUQvRU07RUFDRSxzQkUzRE87QUQ2SWY7O0FEaEZNO0VBQ0UsdUJFOURPO0FEaUpmOztBRGpGTTtFQUNFLHFCRWpFTztBRHFKZjs7QURsRk07RUFDRSxZRXBFTztBRHlKZjs7QURwSE07RUFDRSxZRXRDTztBRDZKZjs7QURySE07RUFDRSxnQkV6Q087QURpS2Y7O0FEdEhNO0VBQ0Usa0JFNUNPO0FEcUtmOztBRHZITTtFQUNFLG1CRS9DTztBRHlLZjs7QUR4SE07RUFDRSxpQkVsRE87QUQ2S2Y7O0FEekhNO0VBQ0UsYUVyRE87QURpTGY7O0FEMUhNO0VBQ0UsaUJFeERPO0FEcUxmOztBRDNITTtFQUNFLG1CRTNETztBRHlMZjs7QUQ1SE07RUFDRSxvQkU5RE87QUQ2TGY7O0FEN0hNO0VBQ0Usa0JFakVPO0FEaU1mOztBRDlITTtFQUNFLFNFcEVPO0FEcU1mOztBRGhLTTtFQUNFLGVFdENPO0FEeU1mOztBRGpLTTtFQUNFLG1CRXpDTztBRDZNZjs7QURsS007RUFDRSxxQkU1Q087QURpTmY7O0FEbktNO0VBQ0Usc0JFL0NPO0FEcU5mOztBRHBLTTtFQUNFLG9CRWxETztBRHlOZjs7QURyS007RUFDRSxnQkVyRE87QUQ2TmY7O0FEdEtNO0VBQ0Usb0JFeERPO0FEaU9mOztBRHZLTTtFQUNFLHNCRTNETztBRHFPZjs7QUR4S007RUFDRSx1QkU5RE87QUR5T2Y7O0FEektNO0VBQ0UscUJFakVPO0FENk9mOztBRDFLTTtFQUNFLFlFcEVPO0FEaVBmOztBRDVNTTtFQUNFLGNFdENPO0FEcVBmOztBRDdNTTtFQUNFLGtCRXpDTztBRHlQZjs7QUQ5TU07RUFDRSxvQkU1Q087QUQ2UGY7O0FEL01NO0VBQ0UscUJFL0NPO0FEaVFmOztBRGhOTTtFQUNFLG1CRWxETztBRHFRZjs7QURqTk07RUFDRSxlRXJETztBRHlRZjs7QURsTk07RUFDRSxtQkV4RE87QUQ2UWY7O0FEbk5NO0VBQ0UscUJFM0RPO0FEaVJmOztBRHBOTTtFQUNFLHNCRTlETztBRHFSZjs7QURyTk07RUFDRSxvQkVqRU87QUR5UmY7O0FEdE5NO0VBQ0UsV0VwRU87QUQ2UmY7O0FEeFBNO0VBQ0UsZUV0Q087QURpU2Y7O0FEelBNO0VBQ0UsbUJFekNPO0FEcVNmOztBRDFQTTtFQUNFLHFCRTVDTztBRHlTZjs7QUQzUE07RUFDRSxzQkUvQ087QUQ2U2Y7O0FENVBNO0VBQ0Usb0JFbERPO0FEaVRmOztBRDdQTTtFQUNFLGdCRXJETztBRHFUZjs7QUQ5UE07RUFDRSxvQkV4RE87QUR5VGY7O0FEL1BNO0VBQ0Usc0JFM0RPO0FENlRmOztBRGhRTTtFQUNFLHVCRTlETztBRGlVZjs7QURqUU07RUFDRSxxQkVqRU87QURxVWY7O0FEbFFNO0VBQ0UsWUVwRU87QUR5VWY7O0FEcFNNO0VBQ0UsWUV0Q087QUQ2VWY7O0FEclNNO0VBQ0UsZ0JFekNPO0FEaVZmOztBRHRTTTtFQUNFLGtCRTVDTztBRHFWZjs7QUR2U007RUFDRSxtQkUvQ087QUR5VmY7O0FEeFNNO0VBQ0UsaUJFbERPO0FENlZmOztBRHpTTTtFQUNFLGFFckRPO0FEaVdmOztBRDFTTTtFQUNFLGlCRXhETztBRHFXZjs7QUQzU007RUFDRSxtQkUzRE87QUR5V2Y7O0FENVNNO0VBQ0Usb0JFOURPO0FENldmOztBRDdTTTtFQUNFLGtCRWpFTztBRGlYZjs7QUQ5U007RUFDRSxTRXBFTztBRHFYZjs7QUUxVUk7RUhnQ0k7SUFDRSxnQkVqRUs7RUQrV2I7RUQ1U007SUFDRSxvQkVwRUs7RURrWGI7RUQ1U007SUFDRSxzQkV2RUs7RURxWGI7RUQ1U007SUFDRSx1QkUxRUs7RUR3WGI7RUQ1U007SUFDRSxxQkU3RUs7RUQyWGI7RUQ1U007SUFDRSxpQkVoRks7RUQ4WGI7RUQ1U007SUFDRSxxQkVuRks7RURpWWI7RUQ1U007SUFDRSx1QkV0Rks7RURvWWI7RUQ1U007SUFDRSx3QkV6Rks7RUR1WWI7RUQ1U007SUFDRSxzQkU1Rks7RUQwWWI7RUQ1U007SUFDRSxhRS9GSztFRDZZYjtFRDdVTTtJQUNFLGdCRWpFSztFRGdaYjtFRDdVTTtJQUNFLG9CRXBFSztFRG1aYjtFRDdVTTtJQUNFLHNCRXZFSztFRHNaYjtFRDdVTTtJQUNFLHVCRTFFSztFRHlaYjtFRDdVTTtJQUNFLHFCRTdFSztFRDRaYjtFRDdVTTtJQUNFLGlCRWhGSztFRCtaYjtFRDdVTTtJQUNFLHFCRW5GSztFRGthYjtFRDdVTTtJQUNFLHVCRXRGSztFRHFhYjtFRDdVTTtJQUNFLHdCRXpGSztFRHdhYjtFRDdVTTtJQUNFLHNCRTVGSztFRDJhYjtFRDdVTTtJQUNFLGFFL0ZLO0VEOGFiO0VEOVdNO0lBQ0UsWUVqRUs7RURpYmI7RUQ5V007SUFDRSxnQkVwRUs7RURvYmI7RUQ5V007SUFDRSxrQkV2RUs7RUR1YmI7RUQ5V007SUFDRSxtQkUxRUs7RUQwYmI7RUQ5V007SUFDRSxpQkU3RUs7RUQ2YmI7RUQ5V007SUFDRSxhRWhGSztFRGdjYjtFRDlXTTtJQUNFLGlCRW5GSztFRG1jYjtFRDlXTTtJQUNFLG1CRXRGSztFRHNjYjtFRDlXTTtJQUNFLG9CRXpGSztFRHljYjtFRDlXTTtJQUNFLGtCRTVGSztFRDRjYjtFRDlXTTtJQUNFLFNFL0ZLO0VEK2NiO0VEL1lNO0lBQ0UsZUVqRUs7RURrZGI7RUQvWU07SUFDRSxtQkVwRUs7RURxZGI7RUQvWU07SUFDRSxxQkV2RUs7RUR3ZGI7RUQvWU07SUFDRSxzQkUxRUs7RUQyZGI7RUQvWU07SUFDRSxvQkU3RUs7RUQ4ZGI7RUQvWU07SUFDRSxnQkVoRks7RURpZWI7RUQvWU07SUFDRSxvQkVuRks7RURvZWI7RUQvWU07SUFDRSxzQkV0Rks7RUR1ZWI7RUQvWU07SUFDRSx1QkV6Rks7RUQwZWI7RUQvWU07SUFDRSxxQkU1Rks7RUQ2ZWI7RUQvWU07SUFDRSxZRS9GSztFRGdmYjtFRGhiTTtJQUNFLGdCRWpFSztFRG1mYjtFRGhiTTtJQUNFLG9CRXBFSztFRHNmYjtFRGhiTTtJQUNFLHNCRXZFSztFRHlmYjtFRGhiTTtJQUNFLHVCRTFFSztFRDRmYjtFRGhiTTtJQUNFLHFCRTdFSztFRCtmYjtFRGhiTTtJQUNFLGlCRWhGSztFRGtnQmI7RURoYk07SUFDRSxxQkVuRks7RURxZ0JiO0VEaGJNO0lBQ0UsdUJFdEZLO0VEd2dCYjtFRGhiTTtJQUNFLHdCRXpGSztFRDJnQmI7RURoYk07SUFDRSxzQkU1Rks7RUQ4Z0JiO0VEaGJNO0lBQ0UsYUUvRks7RURpaEJiO0VEamRNO0lBQ0UsZ0JFakVLO0VEb2hCYjtFRGpkTTtJQUNFLG9CRXBFSztFRHVoQmI7RURqZE07SUFDRSxzQkV2RUs7RUQwaEJiO0VEamRNO0lBQ0UsdUJFMUVLO0VENmhCYjtFRGpkTTtJQUNFLHFCRTdFSztFRGdpQmI7RURqZE07SUFDRSxpQkVoRks7RURtaUJiO0VEamRNO0lBQ0UscUJFbkZLO0VEc2lCYjtFRGpkTTtJQUNFLHVCRXRGSztFRHlpQmI7RURqZE07SUFDRSx3QkV6Rks7RUQ0aUJiO0VEamRNO0lBQ0Usc0JFNUZLO0VEK2lCYjtFRGpkTTtJQUNFLGFFL0ZLO0VEa2pCYjtFRGxmTTtJQUNFLGdCRWpFSztFRHFqQmI7RURsZk07SUFDRSxvQkVwRUs7RUR3akJiO0VEbGZNO0lBQ0Usc0JFdkVLO0VEMmpCYjtFRGxmTTtJQUNFLHVCRTFFSztFRDhqQmI7RURsZk07SUFDRSxxQkU3RUs7RURpa0JiO0VEbGZNO0lBQ0UsaUJFaEZLO0VEb2tCYjtFRGxmTTtJQUNFLHFCRW5GSztFRHVrQmI7RURsZk07SUFDRSx1QkV0Rks7RUQwa0JiO0VEbGZNO0lBQ0Usd0JFekZLO0VENmtCYjtFRGxmTTtJQUNFLHNCRTVGSztFRGdsQmI7RURsZk07SUFDRSxhRS9GSztFRG1sQmI7RURuaEJNO0lBQ0UsZUVqRUs7RURzbEJiO0VEbmhCTTtJQUNFLG1CRXBFSztFRHlsQmI7RURuaEJNO0lBQ0UscUJFdkVLO0VENGxCYjtFRG5oQk07SUFDRSxzQkUxRUs7RUQrbEJiO0VEbmhCTTtJQUNFLG9CRTdFSztFRGttQmI7RURuaEJNO0lBQ0UsZ0JFaEZLO0VEcW1CYjtFRG5oQk07SUFDRSxvQkVuRks7RUR3bUJiO0VEbmhCTTtJQUNFLHNCRXRGSztFRDJtQmI7RURuaEJNO0lBQ0UsdUJFekZLO0VEOG1CYjtFRG5oQk07SUFDRSxxQkU1Rks7RURpbkJiO0VEbmhCTTtJQUNFLFlFL0ZLO0VEb25CYjtBQUNGO0FFbmtCSTtFSGNJO0lBQ0UsY0V0RE07RUQ4bUJkO0VEdGpCTTtJQUNFLGtCRXpETTtFRGluQmQ7RUR0akJNO0lBQ0Usb0JFNURNO0VEb25CZDtFRHRqQk07SUFDRSxxQkUvRE07RUR1bkJkO0VEdGpCTTtJQUNFLG1CRWxFTTtFRDBuQmQ7RUR0akJNO0lBQ0UsZUVyRU07RUQ2bkJkO0VEdGpCTTtJQUNFLG1CRXhFTTtFRGdvQmQ7RUR0akJNO0lBQ0UscUJFM0VNO0VEbW9CZDtFRHRqQk07SUFDRSxzQkU5RU07RURzb0JkO0VEdGpCTTtJQUNFLG9CRWpGTTtFRHlvQmQ7RUR0akJNO0lBQ0UsV0VwRk07RUQ0b0JkO0VEdmxCTTtJQUNFLGVFdERNO0VEK29CZDtFRHZsQk07SUFDRSxtQkV6RE07RURrcEJkO0VEdmxCTTtJQUNFLHFCRTVETTtFRHFwQmQ7RUR2bEJNO0lBQ0Usc0JFL0RNO0VEd3BCZDtFRHZsQk07SUFDRSxvQkVsRU07RUQycEJkO0VEdmxCTTtJQUNFLGdCRXJFTTtFRDhwQmQ7RUR2bEJNO0lBQ0Usb0JFeEVNO0VEaXFCZDtFRHZsQk07SUFDRSxzQkUzRU07RURvcUJkO0VEdmxCTTtJQUNFLHVCRTlFTTtFRHVxQmQ7RUR2bEJNO0lBQ0UscUJFakZNO0VEMHFCZDtFRHZsQk07SUFDRSxZRXBGTTtFRDZxQmQ7RUR4bkJNO0lBQ0UsZUV0RE07RURnckJkO0VEeG5CTTtJQUNFLG1CRXpETTtFRG1yQmQ7RUR4bkJNO0lBQ0UscUJFNURNO0VEc3JCZDtFRHhuQk07SUFDRSxzQkUvRE07RUR5ckJkO0VEeG5CTTtJQUNFLG9CRWxFTTtFRDRyQmQ7RUR4bkJNO0lBQ0UsZ0JFckVNO0VEK3JCZDtFRHhuQk07SUFDRSxvQkV4RU07RURrc0JkO0VEeG5CTTtJQUNFLHNCRTNFTTtFRHFzQmQ7RUR4bkJNO0lBQ0UsdUJFOUVNO0VEd3NCZDtFRHhuQk07SUFDRSxxQkVqRk07RUQyc0JkO0VEeG5CTTtJQUNFLFlFcEZNO0VEOHNCZDtFRHpwQk07SUFDRSxjRXRETTtFRGl0QmQ7RUR6cEJNO0lBQ0Usa0JFekRNO0VEb3RCZDtFRHpwQk07SUFDRSxvQkU1RE07RUR1dEJkO0VEenBCTTtJQUNFLHFCRS9ETTtFRDB0QmQ7RUR6cEJNO0lBQ0UsbUJFbEVNO0VENnRCZDtFRHpwQk07SUFDRSxlRXJFTTtFRGd1QmQ7RUR6cEJNO0lBQ0UsbUJFeEVNO0VEbXVCZDtFRHpwQk07SUFDRSxxQkUzRU07RURzdUJkO0VEenBCTTtJQUNFLHNCRTlFTTtFRHl1QmQ7RUR6cEJNO0lBQ0Usb0JFakZNO0VENHVCZDtFRHpwQk07SUFDRSxXRXBGTTtFRCt1QmQ7RUQxckJNO0lBQ0UsWUV0RE07RURrdkJkO0VEMXJCTTtJQUNFLGdCRXpETTtFRHF2QmQ7RUQxckJNO0lBQ0Usa0JFNURNO0VEd3ZCZDtFRDFyQk07SUFDRSxtQkUvRE07RUQydkJkO0VEMXJCTTtJQUNFLGlCRWxFTTtFRDh2QmQ7RUQxckJNO0lBQ0UsYUVyRU07RURpd0JkO0VEMXJCTTtJQUNFLGlCRXhFTTtFRG93QmQ7RUQxckJNO0lBQ0UsbUJFM0VNO0VEdXdCZDtFRDFyQk07SUFDRSxvQkU5RU07RUQwd0JkO0VEMXJCTTtJQUNFLGtCRWpGTTtFRDZ3QmQ7RUQxckJNO0lBQ0UsU0VwRk07RURneEJkO0VEM3RCTTtJQUNFLGNFdERNO0VEbXhCZDtFRDN0Qk07SUFDRSxrQkV6RE07RURzeEJkO0VEM3RCTTtJQUNFLG9CRTVETTtFRHl4QmQ7RUQzdEJNO0lBQ0UscUJFL0RNO0VENHhCZDtFRDN0Qk07SUFDRSxtQkVsRU07RUQreEJkO0VEM3RCTTtJQUNFLGVFckVNO0VEa3lCZDtFRDN0Qk07SUFDRSxtQkV4RU07RURxeUJkO0VEM3RCTTtJQUNFLHFCRTNFTTtFRHd5QmQ7RUQzdEJNO0lBQ0Usc0JFOUVNO0VEMnlCZDtFRDN0Qk07SUFDRSxvQkVqRk07RUQ4eUJkO0VEM3RCTTtJQUNFLFdFcEZNO0VEaXpCZDtFRDV2Qk07SUFDRSxlRXRETTtFRG96QmQ7RUQ1dkJNO0lBQ0UsbUJFekRNO0VEdXpCZDtFRDV2Qk07SUFDRSxxQkU1RE07RUQwekJkO0VENXZCTTtJQUNFLHNCRS9ETTtFRDZ6QmQ7RUQ1dkJNO0lBQ0Usb0JFbEVNO0VEZzBCZDtFRDV2Qk07SUFDRSxnQkVyRU07RURtMEJkO0VENXZCTTtJQUNFLG9CRXhFTTtFRHMwQmQ7RUQ1dkJNO0lBQ0Usc0JFM0VNO0VEeTBCZDtFRDV2Qk07SUFDRSx1QkU5RU07RUQ0MEJkO0VENXZCTTtJQUNFLHFCRWpGTTtFRCswQmQ7RUQ1dkJNO0lBQ0UsWUVwRk07RURrMUJkO0VEN3hCTTtJQUNFLGdCRXRETTtFRHExQmQ7RUQ3eEJNO0lBQ0Usb0JFekRNO0VEdzFCZDtFRDd4Qk07SUFDRSxzQkU1RE07RUQyMUJkO0VEN3hCTTtJQUNFLHVCRS9ETTtFRDgxQmQ7RUQ3eEJNO0lBQ0UscUJFbEVNO0VEaTJCZDtFRDd4Qk07SUFDRSxpQkVyRU07RURvMkJkO0VEN3hCTTtJQUNFLHFCRXhFTTtFRHUyQmQ7RUQ3eEJNO0lBQ0UsdUJFM0VNO0VEMDJCZDtFRDd4Qk07SUFDRSx3QkU5RU07RUQ2MkJkO0VEN3hCTTtJQUNFLHNCRWpGTTtFRGczQmQ7RUQ3eEJNO0lBQ0UsYUVwRk07RURtM0JkO0FBQ0Y7QUMvMUJBO0VBQ0Usc0JFcENnQjtBSHE0QmxCOztBQzkxQkE7RUFDRSxxQkV2Q2dCO0FIdzRCbEI7O0FFaDJCSTtFREVKO0lBRUksbUNBQUE7UUFBQSxnQ0FBQTtZQUFBLGtDQUFBO0VEaTJCRjtBQUNGOztBRTUyQkk7RURjSjtJQUVJLG9CQUFBO0lBQ0EsV0FBQTtFRGkyQkY7QUFDRjs7QUV2MkJJO0VEU0o7SUFFSSxtQkFBQTtFRGkyQkY7QUFDRjs7QUM5MUJBO0VBQ0UsbUJBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxvQkFBQTtBRGkyQkY7O0FDOTFCQTtFQUNFLGdCQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0UsbUJBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxrQkFBQTtFQUNBLGNBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxnQkFBQTtFQUNBLGNBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxvQkFBQTtFQUNBLGNBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxtQkFBQTtBRGkyQkY7O0FDOTFCQTtFQUNFLG1CQUFBO0VBQ0EsY0FBQTtBRGkyQkY7O0FDOTFCQTtFQUNFLFdBQUE7QURpMkJGOztBQzkxQkE7RUFDRSx5QkFBQTtFQUNBLG1CRzNHWTtFSDRHWixnQkFBQTtFQUNBLGNJeEhlO0VKeUhmLGtCQUFBO0FEaTJCRjs7QUM5MUJBO0VBQ0UseUJBQUE7RUFDQSxtQkduSFk7RUhvSFosZ0JBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7QURpMkJGOztBQzkxQkE7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsMEJBQUE7RUFBQSx1QkFBQTtFQUFBLGtCQUFBO0FEaTJCRjtBQy8xQkU7RUFDRSw2RUFBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFFBQUE7RUFDQSxtQ0FBQTtVQUFBLDJCQUFBO0FEaTJCSjs7QUM3MUJBO0VBQ0Usa0JBQUE7RUFDQSxzQkFBQTtFQUNBLDBCQUFBO0VBQUEsdUJBQUE7RUFBQSxrQkFBQTtBRGcyQkY7QUM5MUJFO0VBQ0UsbUZBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxRQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtBRGcyQko7O0FFcjlCSTtFRHlISjtJQUVJLHdCQUFBO0VEKzFCRjtBQUNGOztBRXI5Qkk7RUR5SEo7SUFFSSx3QkFBQTtFRCsxQkY7QUFDRjs7QUM1MUJBO0VBQ0UsbUJBQUE7QUQrMUJGOztBQzUxQkE7RUFDRSxxQkFBQTtBRCsxQkY7O0FDNTFCQTtFQUNFLG1CQUFBO0FEKzFCRjs7QUM1MUJBO0VBQ0UscUJBQUE7QUQrMUJGOztBQzUxQkE7RUFDRSx5QkFBQTtBRCsxQkY7O0FDNTFCQTtFQUNFLDRCQUFBO0FEKzFCRjs7QUM1MUJBO0VBQ0UsMkJBQUE7RUFDQSx1QkFBQTtFQUNBLDBCQUFBO0VBQ0EseUJBQUE7RUFDQSxjSXpNZTtBTHdpQ2pCOztBQzUxQkE7RUFDRSxrQkFBQTtBRCsxQkY7QUVuL0JJO0VEc0pGO0lBRUksdUZBQUE7SUFDQSxrQkFBQTtJQUNBLDhCQUFBO0lBQ0EsUUFBQTtJQUNBLFdBQUE7RUQrMUJKO0FBQ0Y7QUU1L0JJO0VEaUtGO0lBRUksdUZBQUE7SUFDQSxrQkFBQTtJQUNBLCtCQUFBO0lBQ0EsYUFBQTtJQUNBLFdBQUE7RUQ2MUJKO0FBQ0Y7O0FDeDFCQTtFQUNFLGtCQUFBO0FEMjFCRjtBRXpnQ0k7RURnTEY7SUFFSSx1RkFBQTtJQUNBLGtCQUFBO0lBQ0EsOEJBQUE7SUFDQSxRQUFBO0lBQ0EsV0FBQTtFRDIxQko7QUFDRjtBRWxoQ0k7RUQyTEY7SUFFSSx1RkFBQTtJQUNBLGtCQUFBO0lBQ0EsK0JBQUE7SUFDQSxhQUFBO0lBQ0EsV0FBQTtFRHkxQko7QUFDRjs7QUNwMUJBO0VGdVBFLFdBQUE7RUFDQSxtQk03ZG9CO0VOOGRwQiwrQkFBQTtVQUFBLHVCQUFBO0VBQ0EsNEJBQUE7QUNpbUJGOztBQ3YxQkE7RUYzREUsb0JBQUE7RUFDQSx1QkFBQTtBQ3M1QkY7QUVuakNJO0VEdU5KO0lGeERJLHFCQUFBO0lBQ0Esd0JBQUE7RUN3NUJGO0FBQ0Y7QUU3aUNJO0VEMk1KO0lGcERJLG1CQUFBO0lBQ0Esc0JBQUE7RUMwNUJGO0FBQ0Y7O0FDcDJCQTtFRmxERSxtQkFBQTtFQUNBLHNCQUFBO0FDMDVCRjtBRXBrQ0k7RUQyTko7SUYvQ0ksb0JBQUE7SUFDQSx1QkFBQTtFQzQ1QkY7QUFDRjtBRTlqQ0k7RUQrTUo7SUYzQ0ksaUJBQUE7SUFDQSxvQkFBQTtFQzg1QkY7QUFDRjs7QUNqM0JBO0VGekNFLGlCQUFBO0VBQ0Esb0JBQUE7QUM4NUJGO0FFcmxDSTtFRCtOSjtJRnRDSSxvQkFBQTtJQUNBLHVCQUFBO0VDZzZCRjtBQUNGO0FFL2tDSTtFRG1OSjtJRmxDSSxtQkFBQTtJQUNBLHNCQUFBO0VDazZCRjtBQUNGOztBQzkzQkE7RUZoQ0Usb0JBQUE7RUFDQSx1QkFBQTtBQ2s2QkY7QUV0bUNJO0VEbU9KO0lGN0JJLGlCQUFBO0lBQ0Esb0JBQUE7RUNvNkJGO0FBQ0Y7QUVobUNJO0VEdU5KO0lGekJJLG9CQUFBO0lBQ0EsdUJBQUE7RUNzNkJGO0FBQ0Y7O0FDMzRCQTtFQUNFLGlCQUFBO0FEODRCRjs7QUMzNEJBO0VBQ0UsbUJBQUE7QUQ4NEJGO0FFOW1DSTtFRCtOSjtJQUdJLGtCQUFBO0VEZzVCRjtBQUNGOztBQzc0QkE7RUFDRSxpQkFBQTtBRGc1QkY7QUV2bkNJO0VEc09KO0lBR0ksbUJBQUE7RURrNUJGO0FBQ0Y7O0FDLzRCQTtFQUNFLGtCQUFBO0VGOEpBLGtCQUFBO0FDcXZCRjtBRHB2QkU7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0Esc0JBQUE7RUFDQSxjQUFBO0VBQ0EsdUpBQUE7RUFFQSxvS0FBQTtFQUFBLDhFQUFBO0VBRUEsMkJBQUE7RUFDQSx1QkFBQTtBQ292Qko7O0FNdnNDQTtFQUNFLGtCQUFBO0FOMHNDRjtBTXhzQ0U7RUFDRSxhQUFBO0VBQ0EscUNBQUE7RUFDQSxpQkFBQTtFQUNBLFNBQUE7QU4wc0NKO0FFenBDSTtFSXJERjtJQU1JLFlBQUE7SUFDQSxtQkFBQTtFTjRzQ0o7QUFDRjtBRS9wQ0k7RUlyREY7SUFXSSxxQ0FBQTtFTjZzQ0o7QUFDRjtBTTNzQ0k7RUFDRSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7TUFBQSwwQkFBQTtVQUFBLHNCQUFBO0VBQ0EsU0FBQTtBTjZzQ047QUV6cUNJO0VJdkNBO0lBS0ksWUFBQTtFTitzQ047QUFDRjtBRXByQ0k7RUl6QkU7SUFHSSxpQkFBQSxFQUFBLDZDQUFBO0lBQ0EsYUFBQTtJQUNBLHFDQUFBO0VOOHNDUjtBQUNGO0FNMXNDSTtFQUVFLGVBQUE7RUFDQSxzQkg3Qlk7RUdpQ1osZ0JBQUE7QU53c0NOO0FFMXJDSTtFSVBRO0lBQ0UsVUFBQTtFTm9zQ1o7RU1qc0NVO0lBQ0UsTUFBQTtFTm1zQ1o7RU1oc0NVO0lBQ0UsVUFBQTtFTmtzQ1o7QUFDRjtBTTVyQ007RUFDRSxpQkFBQTtBTjhyQ1I7QUV4c0NJO0VJU0U7SUFHSSxpQkFBQTtFTmdzQ1I7QUFDRjtBTTdyQ007RUFDRSxpQkFBQTtBTityQ1I7QUVodENJO0VJZ0JFO0lBR0ksa0JBQUE7RU5pc0NSO0FBQ0Y7QU05ckNNO0VBQ0Usb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSxxQkFBQTtNQUFBLGtCQUFBO1VBQUEseUJBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsMEJBQUE7VUFBQSxzQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7RUFDQSw4QkFBQTtFQUNBLGtCQUFBO0FOZ3NDUjtBTTlyQ1E7RUFDRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0Esc0hBQUE7RUFBQSxrRkFBQTtFQUNBLFVBQUE7RUFDQSx3Q0FBQTtFQUFBLGdDQUFBO0FOZ3NDVjtBRTF1Q0k7RUlpQ0k7SUFXSSxtSUFBQTtJQUFBLGlGQUFBO0VOa3NDVjtBQUNGO0FNL3JDUTtFQUNFLGVBQUE7RUFDQSxXRHZHRjtFQ3dHRSx3Q0FBQTtFQUFBLGdDQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7QU5pc0NWO0FFdHZDSTtFSWdESTtJQU9JLGtCQUFBO0VObXNDVjtBQUNGO0FNaHNDUTtFQUVFLGFBQUE7RUFDQSxlQUFBO0FOaXNDVjtBRS92Q0k7RUkyREk7SUFNSSxtRkFBQTtJQUNBLGtCQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxTQUFBO0lBQ0EsT0FBQTtJQUNBLFVBQUE7SUFDQSxvQkFBQTtJQUVBLHdDQUFBO0lBQUEsZ0NBQUE7SUFDQSxvQkFBQTtJQUFBLG9CQUFBO0lBQUEsYUFBQTtJQUNBLDRCQUFBO0lBQUEsNkJBQUE7UUFBQSwwQkFBQTtZQUFBLHNCQUFBO0lBQ0EscUJBQUE7UUFBQSxrQkFBQTtZQUFBLHlCQUFBO0lBQ0EsWUFBQTtFTmlzQ1Y7RU0vckNVO0lBQ0UsV0FBQTtJQUNBLFdBQUE7SUFDQSxZQUFBO0lBQ0Esa0JBQUE7SUFDQSxPQUFBO0lBQ0EsTUFBQTtJQUNBLG9DQUFBO0lBQ0EsbUNBQUE7WUFBQSwyQkFBQTtFTmlzQ1o7RU05ckNVO0lBQ0UsVUFBQTtFTmdzQ1o7QUFDRjtBTTVyQ1U7RUFDRSxtQkFBQTtFQUNBLFdEdkpKO0FMcTFDUjtBTTNyQ1U7RUFDRSxTQUFBO0VBQ0EsV0FBQTtBTjZyQ1o7QU16ckNVO0VBQ0UsY0R0S0s7RUN1S0wsZUFBQTtBTjJyQ1oiLCJmaWxlIjoiYmxvY2stcHJvamVjdHMvc2Nzcy9ibG9jay1wcm9qZWN0cy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBQWCB0byBFTS9SRU0gLSBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9pc2VsbHNvYXAvODI5OTcyNlxuXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XG5cbi8qKlxuICogU3RyaXBzIHRoZSB1bml0IGZyb20gYSBnaXZlbiBudW1iZXItdW5pdC1jb21iaW5hdGlvbiBhbmQgcmV0dXJucyB0aGUgbnVtYmVyLiBcbiAqIEBsaW5rOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMjMzNTg0MS8xNzc5OTk5XG4gKiBAdXNhZ2U6IHBhcnNlLWludCgxMHB4KSA9PiAxMFxuICovXG4gQHVzZSAnc2FzczptYXRoJztcbiBAZnVuY3Rpb24gcGFyc2UtaW50KCRudW1iZXIpIHtcbiAgXG4gICAgQHJldHVybiBtYXRoLmRpdigkbnVtYmVyLCAkbnVtYmVyICogMCArIDEpO1xuICB9XG4gIFxuICAvKipcbiAgICogU2ltcGx5IGFkZHMgdGhlIGVtIHVuaXQgdG8gYSBnaXZlbiBudW1iZXIuIFRoaXMgaXMgdXNlZCB0d2ljZSBpbiB0aGVcbiAgICogZnVuY3Rpb24gdW5kZXJuZWF0aCwgdGh1cyB0aGUgbmVlZCBmb3IgYSBzZXBhcmF0ZSBmdW5jdGlvbi5cbiAgICovXG4gIFxuICBAZnVuY3Rpb24gYWRkLWVtLXVuaXQoJG51bWJlcikge1xuICAgIEByZXR1cm4gJG51bWJlciAqIDFlbTtcbiAgfVxuICBcbiAgQGZ1bmN0aW9uIGFkZC1yZW0tdW5pdCgkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyICogMXJlbTtcbiAgfVxuICBcbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgZW0gdmFsdWVzIGZvciBhIGdpdmVuIGxpc3Qgb2YgKHB4IG9yIGVtKSB2YWx1ZXMgYW5kIGEgZ2l2ZW4gZW1cbiAgICogYmFzZS4gTXVsdGlwbHkgYmFzZSB2YWx1ZXMgZm9yIG5lc3RlZCBlbSBzdHJ1Y3R1cmVzIChsYXN0IEB1c2FnZSBleGFtcGxlKS5cbiAgICogQHVzYWdlOiBlbSgxMHB4LCAxLjEyNSkgPT4gLjU1NTU2ZW1cbiAgICogICAgICAgICBlbSgyNHB4LCAuODc1ZW0pID0+IDEuNzE0MjllbVxuICAgKiAgICAgICAgIGVtKDEycHggMCA3ZW0gcmdiYSgwLCAwLCAwLCAuNyksIDEuNzUpID0+IC40Mjg1N2VtIDAgNGVtIHJnYmEoMCwgMCwgMCwgMC43KVxuICAgKiAgICAgICAgIGVtKDEycHgpICsgZW0oM2VtKSA9PiAzLjc1ZW1cbiAgICogICAgICAgICBlbSgyM3B4LCBlbSg1M3B4KSkgPT4gLjQzMzk2ZW1cbiAgICogICAgICAgICBlbSgyNHB4LCAxLjUgKiAxLjEyNSkgPT4gLjg4ODg5ZW1cbiAgICovXG4gIFxuICBAZnVuY3Rpb24gZW0oJHZhbHVlcywgJGVtLWJhc2U6IDEpIHtcbiAgICAkYmFzZS1mb250LXNpemU6IHBhcnNlLWludCgkYmFzZS1mb250LXNpemUpO1xuICAgICRlbS1iYXNlOiBwYXJzZS1pbnQoJGVtLWJhc2UpO1xuICAgICRyZXN1bHQ6ICgpO1xuICBcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgICBAaWYgJHZhbHVlID09IDAgb3IgdHlwZS1vZigkdmFsdWUpICE9IFwibnVtYmVyXCIge1xuICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogdW5pdCgkdmFsdWUpO1xuICAgICAgICAkdmFsdWU6IHBhcnNlLWludCgkdmFsdWUpO1xuICBcbiAgICAgICAgQGlmICR1bml0ID09IFwicHhcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1lbS11bml0KChjYWxjKCR2YWx1ZSAvICgkYmFzZS1mb250LXNpemUgKiAkZW0tYmFzZSkpKSkpO1xuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiZW1cIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1lbS11bml0KGNhbGMoJHZhbHVlIC8gJGVtLWJhc2UpKSk7XG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJcIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1lbS11bml0KChjYWxjKCR2YWx1ZSAvICgkYmFzZS1mb250LXNpemUgKiAkZW0tYmFzZSkpKSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAvKipcbiAgICAgKiBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwcm92aWRlZCwgb3V0cHV0IHRoZSBpbnN0YW5jZSBvZiB0aGF0IG9iamVjdCBpbnN0ZWFkXG4gICAgICogb2YgdGhlIHdob2xlIGxpc3QuIFRoaXMgZW5hYmxlcyB1c2UgY2FzZXMgbGlrZSBuZXN0ZWQgZnVuY3Rpb24gaW52b2NhdGlvbnNcbiAgICAgKiAoZS5nLiBgZW0oMnB4LCBlbSgxNXB4KSlgKSBvciBhZGRpdGlvbnMvc3VidHJhY3Rpb25zIChlLmcuIGBlbSg1cHgpICsgZW0oMzJweClgKS5cbiAgICAgKi9cbiAgICBAaWYgbGVuZ3RoKCRyZXN1bHQpID09IDEge1xuICAgICAgQHJldHVybiBudGgoJHJlc3VsdCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuICRyZXN1bHQ7XG4gICAgfVxuICB9XG4gIFxuICBcbiAgQGZ1bmN0aW9uIHJlbSgkdmFsdWVzLCAkZW0tYmFzZTogMSkge1xuICAgICRiYXNlLWZvbnQtc2l6ZTogcGFyc2UtaW50KCRiYXNlLWZvbnQtc2l6ZSk7XG4gICAgJGVtLWJhc2U6IHBhcnNlLWludCgkZW0tYmFzZSk7XG4gICAgJHJlc3VsdDogKCk7XG4gIFxuICAgIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gMCBvciB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudW1iZXJcIiB7XG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR1bml0OiB1bml0KCR2YWx1ZSk7XG4gICAgICAgICR2YWx1ZTogcGFyc2UtaW50KCR2YWx1ZSk7XG4gIFxuICAgICAgICBAaWYgJHVuaXQgPT0gXCJweFwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgYWRkLXJlbS11bml0KChjYWxjKCR2YWx1ZSAvICgkYmFzZS1mb250LXNpemUgKiAkZW0tYmFzZSkpKSkpO1xuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiZW1cIiB7XG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1yZW0tdW5pdChjYWxjKCR2YWx1ZSAvICRlbS1iYXNlKSkpO1xuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtcmVtLXVuaXQoKGNhbGMoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC8qKlxuICAgICAqIElmIG9ubHkgb25lIHZhbHVlIGlzIHByb3ZpZGVkLCBvdXRwdXQgdGhlIGluc3RhbmNlIG9mIHRoYXQgb2JqZWN0IGluc3RlYWRcbiAgICAgKiBvZiB0aGUgd2hvbGUgbGlzdC4gVGhpcyBlbmFibGVzIHVzZSBjYXNlcyBsaWtlIG5lc3RlZCBmdW5jdGlvbiBpbnZvY2F0aW9uc1xuICAgICAqIChlLmcuIGBlbSgycHgsIGVtKDE1cHgpKWApIG9yIGFkZGl0aW9ucy9zdWJ0cmFjdGlvbnMgKGUuZy4gYGVtKDVweCkgKyBlbSgzMnB4KWApLlxuICAgICAqL1xuICAgIEBpZiBsZW5ndGgoJHJlc3VsdCkgPT0gMSB7XG4gICAgICBAcmV0dXJuIG50aCgkcmVzdWx0LCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gJHJlc3VsdDtcbiAgICB9XG4gIH0iLCIvLyBSZW0gb3V0cHV0IHdpdGggcHggZmFsbGJhY2tcbkBtaXhpbiBmb250LXNpemUoJHNpemVWYWx1ZTogMSkge1xuICBmb250LXNpemU6ICgkc2l6ZVZhbHVlICogMTYpICogMXB4O1xuICBmb250LXNpemU6ICRzaXplVmFsdWUgKiAxcmVtO1xufVxuXG4vLyBDZW50ZXIgYmxvY2tcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gQ2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi8vIENsZWFyIGFmdGVyIChub3QgYWxsIGNsZWFyZml4IG5lZWQgdGhpcyBhbHNvKVxuQG1peGluIGNsZWFyZml4LWFmdGVyKCkge1xuICBjbGVhcjogYm90aDtcbn1cblxuLy8gQ2VudGVyIGJsb2NrXG5AbWl4aW4gY2VudGVyLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIENvbHVtbiB3aWR0aCB3aXRoIG1hcmdpblxuQG1peGluIGNvbHVtbi13aWR0aCgkbnVtYmVyQ29sdW1uczogMykge1xuICB3aWR0aDogbWFwLWdldCgkY29sdW1ucywgJG51bWJlckNvbHVtbnMpIC0gKCAoICRjb2x1bW5zX19tYXJnaW4gKiAoICRudW1iZXJDb2x1bW5zIC0gMSApICkgLyAkbnVtYmVyQ29sdW1ucyApO1xufVxuXG5AbWl4aW4gZ2VuZXJhdGUtc2l6ZS1jbGFzc2VzKCRzaXplLW1hcCwgJGRldmljZSwgJGJyZWFrcG9pbnQ6IG51bGwpIHtcbiAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuICAgIC8vIE5vIG1lZGlhIHF1ZXJ5IGZvciBtb2JpbGVcbiAgICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRzaXplLW1hcCB7XG4gICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tbWFyZ2luLXNpemUge1xuICAgICAgICBtYXJnaW46ICR2YWx1ZTtcbiAgICAgIH1cbiAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1tYXJnaW4tdG9wLXNpemUge1xuICAgICAgICBtYXJnaW4tdG9wOiAkdmFsdWU7XG4gICAgICB9XG4gICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWU7XG4gICAgICB9XG4gICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkdmFsdWU7XG4gICAgICB9XG4gICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tcGFkZGluZy1zaXplIHtcbiAgICAgICAgcGFkZGluZzogJHZhbHVlO1xuICAgICAgfVxuICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LXBhZGRpbmctdG9wLXNpemUge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlO1xuICAgICAgfVxuICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR2YWx1ZTtcbiAgICAgIH1cbiAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHZhbHVlO1xuICAgICAgfVxuICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LWdhcC1zaXplIHtcbiAgICAgICAgZ2FwOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBNZWRpYSBxdWVyeSBmb3IgdGFibGV0IGFuZCBkZXNrdG9wXG4gICAgQGluY2x1ZGUgYnAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJHNpemUtbWFwIHtcbiAgICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LW1hcmdpbi1zaXplIHtcbiAgICAgICAgICBtYXJnaW46ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tbWFyZ2luLXRvcC1zaXplIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LW1hcmdpbi1sZWZ0LXNpemUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGRldmljZX0taGFzLSN7JG5hbWV9LXBhZGRpbmctc2l6ZSB7XG4gICAgICAgICAgcGFkZGluZzogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICAuI3skZGV2aWNlfS1oYXMtI3skbmFtZX0tcGFkZGluZy1sZWZ0LXNpemUge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRkZXZpY2V9LWhhcy0jeyRuYW1lfS1nYXAtc2l6ZSB7XG4gICAgICAgICAgZ2FwOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNlYXJjaC1yZXN1bHRzIHtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tO1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHJlbSg0KTtcbiAgcGFkZGluZzogcmVtKDgpIHJlbSgxMik7XG4gIG1hcmdpbi10b3A6IHJlbSg4KTtcbiAgbWF4LWhlaWdodDogcmVtKDI0MCk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcblxuICAuc2VhcmNoLXJlc3VsdC1pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHBhZGRpbmc6IHJlbSg4KSByZW0oMTYpIHJlbSg4KSByZW0oMjgpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgbWFycXVlZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyAvKiBTdGFydCBhdCB0aGUgb3JpZ2luYWwgcG9zaXRpb24gKi9cbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgLyogTW92ZSBmdWxseSB0byB0aGUgbGVmdCAqL1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXJQYWRkaW5nIHtcblxuICBAaW5jbHVkZSBicCh0YWJsZXRkb3duKSB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0oMTYpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxNik7XG4gIH1cbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0oY2FsYygoMTAwdncgLSAkc2l0ZV93aWR0aF90YWJsZXQpIC8gMikpO1xuICB9XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgIHBhZGRpbmctbGVmdDogcmVtKGNhbGMoKDEwMHZ3IC0gOTMlKSAvIDIpKTtcbiAgfVxuICBAaW5jbHVkZSBicChsYXB0b3B4cykge1xuICAgIHBhZGRpbmctbGVmdDogcmVtKGNhbGMoKDEwMHZ3IC0gJHNpdGVfd2lkdGhfbGFwdG9weHMpIC8gMikpO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXJBcnJvdyB7XG4gIC5hcnJvdyB7XG4gICAgd2lkdGg6IHJlbSg0OCk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJjpub3QoLnNsaWNrLWRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDEuNXB4IHNvbGlkICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmN1c3RvbS1wcmV2IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gc2VjdGlvblBhZGRpbmdYUyB7XG4gIHBhZGRpbmctdG9wOiByZW0oMjApO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtKDIwKTtcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgcGFkZGluZy10b3A6IHJlbSgzMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgzMCk7XG4gIH1cbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgcGFkZGluZy10b3A6IHJlbSg0MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg0MCk7XG4gIH1cbn1cblxuQG1peGluIHNlY3Rpb25QYWRkaW5nTSB7XG4gIHBhZGRpbmctdG9wOiByZW0oNDApO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtKDQwKTtcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgcGFkZGluZy10b3A6IHJlbSg2MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg2MCk7XG4gIH1cbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgcGFkZGluZy10b3A6IHJlbSg4MCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSg4MCk7XG4gIH1cbn1cblxuQG1peGluIHNlY3Rpb25QYWRkaW5nTCB7XG4gIHBhZGRpbmctdG9wOiByZW0oODApO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtKDgwKTtcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgcGFkZGluZy10b3A6IHJlbSgxMDApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTAwKTtcbiAgfVxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDEyMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgxMjApO1xuICB9XG59XG5cbkBtaXhpbiBzZWN0aW9uUGFkZGluZ0QxMDAge1xuICBwYWRkaW5nLXRvcDogcmVtKDYwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbSg2MCk7XG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oODApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oODApO1xuICB9XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgIHBhZGRpbmctdG9wOiByZW0oMTAwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDEwMCk7XG4gIH1cbn1cblxuQG1peGluIGNhdGVnb3J5TWV0YUNQVCB7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiByZW0oMzIpO1xuXG4gIC5wdWJsaXNoLWRhdGUge1xuICAgIGNvbG9yOiAkZ3JleS10ZXh0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGRvdEJlZm9yZVRleHQ7XG5cbiAgfVxufVxuXG5AbWl4aW4gZG90QmVmb3JlVGV4dCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiByZW0oNSk7XG4gICAgaGVpZ2h0OiByZW0oNSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IHJlbSgtMTYpO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JleS10ZXh0O1xuICB9XG59XG5cbkBtaXhpbiBwb3N0c0hvbGRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIGdhcDogcmVtKDI0KTtcbiAgcGFkZGluZzogcmVtKDI0KSAwIHJlbSg0MCkgMDtcbiAgbWF4LXdpZHRoOiByZW0oMTA2MCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiByZW0oNDApIDA7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5cbkBtaXhpbiBwb3N0c0hvbGRlcjQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICBnYXA6IHJlbSgyNCk7XG4gIHBhZGRpbmc6IHJlbSgyNCkgMCByZW0oNDApIDA7XG4gIG1heC13aWR0aDogcmVtKDEwNjApO1xuICBtYXJnaW46IDAgYXV0bztcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgcGFkZGluZzogcmVtKDQwKSAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgfVxufVxuXG5AbWl4aW4gcG9zdENhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvL2JvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fYm9yZGVyLWlucHV0O1xuICBib3gtc2hhZG93OiAwIDAgMCAxLjVweCAjRDNEM0QzO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi5oaWdobGlnaHRlZCB7XG5cbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tO1xuICAgICAgbWF4LWhlaWdodDogcmVtKDM4MCk7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuaW1hZ2UtcGFydCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oNTUwKTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1wYXJ0IHtcbiAgICAgIGZsZXg6IDE7XG5cbiAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiByZW0oNTUpIHJlbSg2MCk7XG4gICAgICB9XG5cbiAgICAgIC5wb3N0LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOm5vdCguaGlnaGxpZ2h0ZWQpIHtcblxuXG4gICAgJjpob3ZlciB7XG4gICAgICAmOm5vdCguaGlnaGxpZ2h0ZWQpIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDE0cHggNDVweCAtNnB4ICMxMDE4MjgyNjtcblxuXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlckdyYWRpZW50O1xuXG4gICAgICAgIC8vYm94LXNoYWRvdzogMHB4IDE0cHggNDVweCAtNnB4ICMxMDE4MjgyNjtcbiAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAvL2JvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkxLjVkZWcsICNBOEYwRDIgLTMuNzMlLCByZ2JhKDAsIDEyMSwgODMsIDApIDE3LjgxJSwgcmdiYSgwLCAxMjEsIDgzLCAwKSAxMDAlKSAxO1xuICAgICAgICAvL2JvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXM7XG5cbiAgICAgICAgLmNvbnRlbnQtcGFydCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0YyRjhGNjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbWFnZS1wYXJ0IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IHJlbSgyNjApO1xuICAgIG1heC1oZWlnaHQ6IHJlbSgyNjApO1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgbWluLWhlaWdodDogcmVtKDI4MCk7XG4gICAgICBtYXgtaGVpZ2h0OiByZW0oMjgwKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBtYXgtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC53cC1wb3N0LWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAuY29udGVudC1wYXJ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiByZW0oMTYpO1xuICAgIHBhZGRpbmc6IHJlbSgxNikgcmVtKDE2KSByZW0oMjQpIHJlbSgxNik7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG5cbiAgICAuY2F0ZWdvcnkge1xuICAgICAgQGluY2x1ZGUgY2F0ZWdvcnlNZXRhQ1BUXG4gICAgfVxuXG4gICAgLnBvc3QtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhjZXJwdCB7XG4gICAgICBjb2xvcjogJGdyZXktdGV4dDtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGxpbmUtY2xhbXA6IDM7IC8qIE9ubHkgd29ya3MgZm9yIFdlYktpdCAqL1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzOyAvKiBMaW1pdCB0byAzIGxpbmVzICovXG4gICAgICBtYXgtaGVpZ2h0OiByZW0oNjYpOyAvKiBBZGp1c3QgdGhpcyBiYXNlZCBvbiB5b3VyIGxpbmUtaGVpZ2h0ICgzIGxpbmVzICogbGluZS1oZWlnaHQpICovXG4gICAgICBsaW5lLWhlaWdodDogcmVtKDIyKTsgLyogU2V0IGEgbGluZS1oZWlnaHQgdmFsdWUgKi9cbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBib3JkZXJHcmFkaWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMS41cHg7IC8vIEFkanVzdCB0aGlzIHZhbHVlIHRvIGNoYW5nZSBib3JkZXIgdGhpY2tuZXNzXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkxLjVkZWcsICNBOEYwRDIgLTMuNzMlLCByZ2JhKDAsIDEyMSwgODMsIDApIDE3LjgxJSksXG4gICAgbGluZWFyLWdyYWRpZW50KDI5Ny43NmRlZywgI0E4RjBEMiAzLjU4JSwgcmdiYSgwLCAxMjEsIDgzLCAwKSAyNS4xNCUpO1xuICAgIC13ZWJraXQtbWFzazogbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxcbiAgICBsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApO1xuICAgIC13ZWJraXQtbWFzay1jb21wb3NpdGU6IHhvcjtcbiAgICBtYXNrLWNvbXBvc2l0ZTogZXhjbHVkZTtcbiAgICAvL3BvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBzaW5nbGVDcHRTZWN0aW9uVGl0bGUge1xuICBmb250LXNpemU6IHJlbSgyNCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gIH1cbn1cblxuQG1peGluIGNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiBlbSgxNik7XG4gIHBhZGRpbmctcmlnaHQ6IGVtKDE2KTtcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgbWF4LXdpZHRoOiAkc2l0ZV93aWR0aF90YWJsZXQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBtYXgtd2lkdGg6ICRzaXRlX3dpZHRoX3RhYmxldGxhbmRzY2FwZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgYnAobGFwdG9weHMpIHtcbiAgICBtYXgtd2lkdGg6ICRzaXRlX3dpZHRoX2xhcHRvcHhzICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGRpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yX19ib3JkZXItaW5wdXQ7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xufVxuXG5AbWl4aW4gbWVtYmVyQ2FyZCB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogcmVtKDI1Nik7XG4gIGhlaWdodDogcmVtKDMwNCk7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBAaW5jbHVkZSBicChwaG9uZWxhbmRzY2FwZSkge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBicChwaG9uZWxhbmRzY2FwZSkge1xuICAgICAgLm1lbWJlci1pbWFnZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgICAgIH1cblxuICAgICAgLm1lbWJlci1pbmZvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgcmVtKDEzNikpIHJvdGF0ZSg1ZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsgLy8gS2VlcCB0aGUgc2FtZSBzb2xpZCBiYWNrZ3JvdW5kIGZvciBzbW9vdGggYmxlbmRpbmdcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgLy8gRmFkZSBpbiB0aGUgZ3JhZGllbnQgb24gaG92ZXJcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3AtcGFydCB7XG4gICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucG9zaXRpb24ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9fYm9yZGVyLWlucHV0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmJvdHRvbS1wYXJ0IHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxuXG4gIC5tZW1iZXItaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gICAgQGluY2x1ZGUgYnAocGhvbmVsYW5kc2NhcGUpIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cblxuICAgIC8vYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDU5LjM3JSA1MCUgYXQgNTAlIDUwJSwgI0ZGRkZGRiAwJSwgI0Y1RjVGNSAxMDAlKTtcblxuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0oMjUpO1xuICAgIH1cbiAgfVxuXG4gIC5tZW1iZXItaW5mbyB7XG4gICAgcGFkZGluZzogcmVtKDMyKSByZW0oMjQpO1xuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIHJlbSgxMzYpKSByb3RhdGUoNWRlZyk7XG5cbiAgICBAaW5jbHVkZSBicChwaG9uZWxhbmRzY2FwZSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgcm90YXRlKDApO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIHBzZXVkby1lbGVtZW50IGZvciB0aGUgZ3JhZGllbnRcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDUwLjUlIDM1LjgxJSBhdCA1MCUgNTAlLCAjMUQ4ODY2IDAlLCAjMkI4RjcwIDEwMCUpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dDsgLy8gU21vb3RoIG9wYWNpdHkgdHJhbnNpdGlvblxuICAgICAgei1pbmRleDogLTE7IC8vIE1ha2Ugc3VyZSB0aGUgZ3JhZGllbnQgc3RheXMgYmVoaW5kIHRoZSBlbGVtZW50XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tO1xuXG4gICAgICAvL2JvcmRlcjogMS41cHggc29saWQ7IC8qIERlZmluZXMgdGhlIHdpZHRoIGFuZCBzdHlsZSBvZiB0aGUgYm9yZGVyICovXG4gICAgICAvL2JvcmRlci1pbWFnZS1zb3VyY2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMiksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSksXG4gICAgICAvL2xpbmVhci1ncmFkaWVudCg5MS41ZGVnLCAjQThGMEQyIC0zLjczJSwgcmdiYSgyMCwgMTQxLCAxMDMsIDApIDE3LjgxJSksXG4gICAgICAvL2xpbmVhci1ncmFkaWVudCgyOTcuNzZkZWcsICNBOEYwRDIgMy41OCUsIHJnYmEoMjAsIDE0MSwgMTAzLCAwKSAyNS4xNCUpO1xuICAgICAgLy9ib3JkZXItaW1hZ2Utc2xpY2U6IDE7XG4gICAgICBib3gtc2hhZG93OiAzcHggNXB4IDE1cHggMHB4ICMwMDAwMDAyNixcbiAgICAgIDJweCA0cHggNXB4IC0ycHggIzAwMDAwMDFBO1xuXG4gICAgICBAaW5jbHVkZSBicChwaG9uZWxhbmRzY2FwZSkge1xuICAgICAgICBvcGFjaXR5OiAwOyAvLyBJbml0aWFsbHkgaGlkZSB0aGUgZ3JhZGllbnRcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLXBhcnQge1xuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBAaW5jbHVkZSBicChwaG9uZWxhbmRzY2FwZSkge1xuICAgICAgICAgIGNvbG9yOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucG9zaXRpb24ge1xuICAgICAgICBjb2xvcjogJGNvbG9yX19ib3JkZXItaW5wdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgQGluY2x1ZGUgYnAocGhvbmVsYW5kc2NhcGUpIHtcbiAgICAgICAgICBjb2xvcjogJGdyZXktdGV4dDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm90dG9tLXBhcnQge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgQGluY2x1ZGUgYnAocGhvbmVsYW5kc2NhcGUpIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVtYmVyU2luZ2xlQ2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogcmVtKDE2KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHJlbSgyMCk7XG4gICAgbWF4LXdpZHRoOiByZW0oMjcwKTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiByZW0oODApO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgICAgd2lkdGg6IHJlbSgxMjApO1xuICAgIH1cbiAgfVxuXG4gIC5tZW1iZXItaW5mbyB7XG4gICAgLm5hbWUge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg2KTtcbiAgICB9XG5cbiAgICAucG9zaXRpb24ge1xuICAgICAgY29sb3I6ICRncmV5LXRleHQ7XG4gICAgfVxuXG4gICAgLmVtYWlsIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSg2KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IHJlbSg4KTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJGNvbG9yX19wcmltYXJ5O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duU2VsZWN0IHtcblxuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogcmVtKDgpO1xuICBib3JkZXItY29sb3I6ICRjb2xvcl9fYm9yZGVyLWlucHV0O1xuICBhcHBlYXJhbmNlOiBub25lOyAvKiBGb3IgQ2hyb21lLCBTYWZhcmksIGFuZCBPcGVyYSAqL1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIEZvciBGaXJlZm94ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogRm9yIENocm9tZSBhbmQgU2FmYXJpICovXG4gIHBhZGRpbmc6IHJlbSgxNCkgcmVtKDUyKSByZW0oMTQpIHJlbSgxNCk7XG5cbiAgYmFja2dyb3VuZDogdXJsKCcjeyR0ZW1wbGF0ZV9kaXJlY3Rvcnl9L2Fzc2V0cy9pY29ucy9haS1jaGV2cm9uLWRvd24uc3ZnJykgbm8tcmVwZWF0IHJpZ2h0IHJlbSgxMCkgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IHJlbSgyNCk7XG5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJwKHRhYmxldCkge1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgfVxuXG59XG5cbkBtaXhpbiBmaWx0ZXJXcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBncmlkLWdhcDogcmVtKDIwKTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgQGluY2x1ZGUgYnAodGFibGV0KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufSIsIi8qKlxuICogU3RyaXBzIHRoZSB1bml0IGZyb20gYSBnaXZlbiBudW1iZXItdW5pdC1jb21iaW5hdGlvbiBhbmQgcmV0dXJucyB0aGUgbnVtYmVyLiBcbiAqIEBsaW5rOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMjMzNTg0MS8xNzc5OTk5XG4gKiBAdXNhZ2U6IHBhcnNlLWludCgxMHB4KSA9PiAxMFxuICovXG4vKipcbiAqIFNpbXBseSBhZGRzIHRoZSBlbSB1bml0IHRvIGEgZ2l2ZW4gbnVtYmVyLiBUaGlzIGlzIHVzZWQgdHdpY2UgaW4gdGhlXG4gKiBmdW5jdGlvbiB1bmRlcm5lYXRoLCB0aHVzIHRoZSBuZWVkIGZvciBhIHNlcGFyYXRlIGZ1bmN0aW9uLlxuICovXG4vKipcbiAqIENhbGN1bGF0ZXMgZW0gdmFsdWVzIGZvciBhIGdpdmVuIGxpc3Qgb2YgKHB4IG9yIGVtKSB2YWx1ZXMgYW5kIGEgZ2l2ZW4gZW1cbiAqIGJhc2UuIE11bHRpcGx5IGJhc2UgdmFsdWVzIGZvciBuZXN0ZWQgZW0gc3RydWN0dXJlcyAobGFzdCBAdXNhZ2UgZXhhbXBsZSkuXG4gKiBAdXNhZ2U6IGVtKDEwcHgsIDEuMTI1KSA9PiAuNTU1NTZlbVxuICogICAgICAgICBlbSgyNHB4LCAuODc1ZW0pID0+IDEuNzE0MjllbVxuICogICAgICAgICBlbSgxMnB4IDAgN2VtIHJnYmEoMCwgMCwgMCwgLjcpLCAxLjc1KSA9PiAuNDI4NTdlbSAwIDRlbSByZ2JhKDAsIDAsIDAsIDAuNylcbiAqICAgICAgICAgZW0oMTJweCkgKyBlbSgzZW0pID0+IDMuNzVlbVxuICogICAgICAgICBlbSgyM3B4LCBlbSg1M3B4KSkgPT4gLjQzMzk2ZW1cbiAqICAgICAgICAgZW0oMjRweCwgMS41ICogMS4xMjUpID0+IC44ODg4OWVtXG4gKi9cbkBrZXlmcmFtZXMgbWFycXVlZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyAvKiBTdGFydCBhdCB0aGUgb3JpZ2luYWwgcG9zaXRpb24gKi9cbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgLyogTW92ZSBmdWxseSB0byB0aGUgbGVmdCAqL1xuICB9XG59XG4ubW9iaWxlLWhhcy14cy1tYXJnaW4tc2l6ZSB7XG4gIG1hcmdpbjogMC4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHMtbWFyZ2luLXRvcC1zaXplIHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHMtbWFyZ2luLXJpZ2h0LXNpemUge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhzLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhzLW1hcmdpbi1sZWZ0LXNpemUge1xuICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHMtcGFkZGluZy1zaXplIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHMtcGFkZGluZy10b3Atc2l6ZSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14cy1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14cy1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhzLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14cy1nYXAtc2l6ZSB7XG4gIGdhcDogMC4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtcy1tYXJnaW4tc2l6ZSB7XG4gIG1hcmdpbjogMC41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1zLW1hcmdpbi10b3Atc2l6ZSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtcy1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1zLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtcy1tYXJnaW4tbGVmdC1zaXplIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtcy1wYWRkaW5nLXNpemUge1xuICBwYWRkaW5nOiAwLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXMtcGFkZGluZy10b3Atc2l6ZSB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXMtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1zLXBhZGRpbmctYm90dG9tLXNpemUge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1zLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXMtZ2FwLXNpemUge1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtZC1tYXJnaW4tc2l6ZSB7XG4gIG1hcmdpbjogMC43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtZC1tYXJnaW4tdG9wLXNpemUge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWQtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLXBhZGRpbmctc2l6ZSB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWQtcGFkZGluZy10b3Atc2l6ZSB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWQtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1kLWdhcC1zaXplIHtcbiAgZ2FwOiAwLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1tLW1hcmdpbi1zaXplIHtcbiAgbWFyZ2luOiAxcmVtO1xufVxuXG4ubW9iaWxlLWhhcy1tLW1hcmdpbi10b3Atc2l6ZSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tbWFyZ2luLXJpZ2h0LXNpemUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbS1tYXJnaW4tbGVmdC1zaXplIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tcGFkZGluZy1zaXplIHtcbiAgcGFkZGluZzogMXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbS1wYWRkaW5nLXRvcC1zaXplIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tcGFkZGluZy1yaWdodC1zaXplIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbS1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tcGFkZGluZy1sZWZ0LXNpemUge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLW0tZ2FwLXNpemUge1xuICBnYXA6IDFyZW07XG59XG5cbi5tb2JpbGUtaGFzLWwtbWFyZ2luLXNpemUge1xuICBtYXJnaW46IDEuMjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLWwtbWFyZ2luLXRvcC1zaXplIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1tYXJnaW4tYm90dG9tLXNpemUge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1sLW1hcmdpbi1sZWZ0LXNpemUge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1wYWRkaW5nLXNpemUge1xuICBwYWRkaW5nOiAxLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1sLXBhZGRpbmctdG9wLXNpemUge1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy1sLXBhZGRpbmctYm90dG9tLXNpemUge1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMtbC1nYXAtc2l6ZSB7XG4gIGdhcDogMS4yNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteGwtbWFyZ2luLXNpemUge1xuICBtYXJnaW46IDEuNXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteGwtbWFyZ2luLXRvcC1zaXplIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1tYXJnaW4tYm90dG9tLXNpemUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhsLW1hcmdpbi1sZWZ0LXNpemUge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1wYWRkaW5nLXNpemUge1xuICBwYWRkaW5nOiAxLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhsLXBhZGRpbmctdG9wLXNpemUge1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXhsLXBhZGRpbmctYm90dG9tLXNpemUge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14bC1nYXAtc2l6ZSB7XG4gIGdhcDogMS41cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eGwtbWFyZ2luLXNpemUge1xuICBtYXJnaW46IDEuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4bC1tYXJnaW4tdG9wLXNpemUge1xuICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eGwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICBtYXJnaW4tcmlnaHQ6IDEuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4bC1tYXJnaW4tYm90dG9tLXNpemUge1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eGwtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eGwtcGFkZGluZy1zaXplIHtcbiAgcGFkZGluZzogMS43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHhsLXBhZGRpbmctdG9wLXNpemUge1xuICBwYWRkaW5nLXRvcDogMS43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHhsLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4bC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNzVyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4bC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gIHBhZGRpbmctbGVmdDogMS43NXJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHhsLWdhcC1zaXplIHtcbiAgZ2FwOiAxLjc1cmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eHhsLW1hcmdpbi1zaXplIHtcbiAgbWFyZ2luOiAycmVtO1xufVxuXG4ubW9iaWxlLWhhcy14eHhsLW1hcmdpbi10b3Atc2l6ZSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHh4bC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtcGFkZGluZy1zaXplIHtcbiAgcGFkZGluZzogMnJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHh4bC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbTtcbn1cblxuLm1vYmlsZS1oYXMteHh4bC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtcGFkZGluZy1sZWZ0LXNpemUge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbi5tb2JpbGUtaGFzLXh4eGwtZ2FwLXNpemUge1xuICBnYXA6IDJyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGFibGV0LWhhcy14cy1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAwLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14cy1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHMtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLXBhZGRpbmctc2l6ZSB7XG4gICAgcGFkZGluZzogMC4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHMtcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHMtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhzLWdhcC1zaXplIHtcbiAgICBnYXA6IDAuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXMtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMC42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtcy1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXMtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtcy1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXMtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXMtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1zLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1zLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtcy1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtcy1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1zLWdhcC1zaXplIHtcbiAgICBnYXA6IDAuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWQtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1kLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1kLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtZC1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtZC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1kLXBhZGRpbmctc2l6ZSB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1kLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWQtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWQtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtZC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWQtZ2FwLXNpemUge1xuICAgIGdhcDogMXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1tLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDEuMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbS1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbS1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLW0tbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLW0tbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbS1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbS1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1tLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1tLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLW0tcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1tLWdhcC1zaXplIHtcbiAgICBnYXA6IDEuMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbC1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAxLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1sLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMS42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1sLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMS42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMtbC1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDEuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWwtcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDEuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1sLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjYyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy1sLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNjI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLWwtZ2FwLXNpemUge1xuICAgIGdhcDogMS42MjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteGwtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMi4xMjVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteGwtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMTI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhsLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDIuMTI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhsLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMTI1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXhsLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14bC1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAyLjEyNXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eGwtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMi4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHhsLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMi4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHhsLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4bC1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4bC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMi4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHhsLXBhZGRpbmctc2l6ZSB7XG4gICAgcGFkZGluZzogMi4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHhsLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAyLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eGwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eGwtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuMzc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4bC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjM3NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eGwtZ2FwLXNpemUge1xuICAgIGdhcDogMi4zNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHh4bC1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAyLjc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4eGwtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAyLjc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4eGwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMi43NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eHhsLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eHhsLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAyLjc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4eGwtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAyLjc1cmVtO1xuICB9XG4gIC50YWJsZXQtaGFzLXh4eGwtcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDIuNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHh4bC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHh4bC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi43NXJlbTtcbiAgfVxuICAudGFibGV0LWhhcy14eHhsLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNzVyZW07XG4gIH1cbiAgLnRhYmxldC1oYXMteHh4bC1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAyLjc1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5kZXNrdG9wLWhhcy14cy1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAwLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhzLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14cy1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhzLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14cy1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14cy1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHMtcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHMtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhzLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhzLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHMtZ2FwLXNpemUge1xuICAgIGdhcDogMC41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1zLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDAuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXMtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1zLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXMtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1zLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1zLXBhZGRpbmctc2l6ZSB7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtcy1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtcy1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXMtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXMtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtcy1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1kLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDEuMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWQtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1kLW1hcmdpbi1yaWdodC1zaXplIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWQtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1kLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1kLXBhZGRpbmctc2l6ZSB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtZC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtZC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWQtcGFkZGluZy1ib3R0b20tc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWQtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtZC1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAxLjI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1tLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDEuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbS1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbS1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLW0tbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLW0tbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbS1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbS1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1tLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1tLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLW0tcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1tLWdhcC1zaXplIHtcbiAgICBnYXA6IDEuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbC1tYXJnaW4tc2l6ZSB7XG4gICAgbWFyZ2luOiAycmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1sLW1hcmdpbi10b3Atc2l6ZSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1sLW1hcmdpbi1ib3R0b20tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbC1tYXJnaW4tbGVmdC1zaXplIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMtbC1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWwtcGFkZGluZy10b3Atc2l6ZSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWwtcGFkZGluZy1yaWdodC1zaXplIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1sLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy1sLXBhZGRpbmctbGVmdC1zaXplIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLWwtZ2FwLXNpemUge1xuICAgIGdhcDogMnJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteGwtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMi41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14bC1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteGwtbWFyZ2luLXJpZ2h0LXNpemUge1xuICAgIG1hcmdpbi1yaWdodDogMi41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14bC1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteGwtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteGwtcGFkZGluZy1zaXplIHtcbiAgICBwYWRkaW5nOiAyLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhsLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhsLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14bC1wYWRkaW5nLWJvdHRvbS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14bC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXhsLWdhcC1zaXplIHtcbiAgICBnYXA6IDIuNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHhsLW1hcmdpbi1zaXplIHtcbiAgICBtYXJnaW46IDIuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4bC1tYXJnaW4tdG9wLXNpemUge1xuICAgIG1hcmdpbi10b3A6IDIuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4bC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eGwtbWFyZ2luLWJvdHRvbS1zaXplIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eGwtbWFyZ2luLWxlZnQtc2l6ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4bC1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDIuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4bC1wYWRkaW5nLXRvcC1zaXplIHtcbiAgICBwYWRkaW5nLXRvcDogMi43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHhsLXBhZGRpbmctcmlnaHQtc2l6ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMi43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHhsLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjc1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eGwtcGFkZGluZy1sZWZ0LXNpemUge1xuICAgIHBhZGRpbmctbGVmdDogMi43NXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHhsLWdhcC1zaXplIHtcbiAgICBnYXA6IDIuNzVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4eGwtbWFyZ2luLXNpemUge1xuICAgIG1hcmdpbjogMy4xMjVyZW07XG4gIH1cbiAgLmRlc2t0b3AtaGFzLXh4eGwtbWFyZ2luLXRvcC1zaXplIHtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1tYXJnaW4tcmlnaHQtc2l6ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1tYXJnaW4tYm90dG9tLXNpemUge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eHhsLW1hcmdpbi1sZWZ0LXNpemUge1xuICAgIG1hcmdpbi1sZWZ0OiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1wYWRkaW5nLXNpemUge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eHhsLXBhZGRpbmctdG9wLXNpemUge1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1wYWRkaW5nLXJpZ2h0LXNpemUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMuMTI1cmVtO1xuICB9XG4gIC5kZXNrdG9wLWhhcy14eHhsLXBhZGRpbmctYm90dG9tLXNpemUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1wYWRkaW5nLWxlZnQtc2l6ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcbiAgfVxuICAuZGVza3RvcC1oYXMteHh4bC1nYXAtc2l6ZSB7XG4gICAgZ2FwOiAzLjEyNXJlbTtcbiAgfVxufVxuLmJvcmRlci1yYWRpdXMtcyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG59XG5cbi5ib3JkZXItcmFkaXVzLW0ge1xuICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmp1c3RpZnktY29udGVudC1jZW50ZXItbW9iaWxlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmFycm93LWNvbnRlbnQtMjg2IHtcbiAgICBtYXgtd2lkdGg6IDE3Ljg3NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5uYXJyb3ctY29udGVudC0zNDAge1xuICAgIG1heC13aWR0aDogMjEuMjVyZW07XG4gIH1cbn1cblxuLm5hcnJvdy1jb250ZW50LTM4MCB7XG4gIG1heC13aWR0aDogMjMuNzVyZW07XG59XG5cbi5uYXJyb3ctY29udGVudC00NTAge1xuICBtYXgtd2lkdGg6IDI4LjEyNXJlbTtcbn1cblxuLm5hcnJvdy1jb250ZW50LTQ4MCB7XG4gIG1heC13aWR0aDogMzByZW07XG59XG5cbi5uYXJyb3ctY29udGVudC01MDAge1xuICBtYXgtd2lkdGg6IDMxLjI1cmVtO1xufVxuXG4ubmFycm93LWNvbnRlbnQtNjAwIHtcbiAgbWF4LXdpZHRoOiAzNy41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm5hcnJvdy1jb250ZW50LTcyMCB7XG4gIG1heC13aWR0aDogNDVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubmFycm93LWNvbnRlbnQtNzcwIHtcbiAgbWF4LXdpZHRoOiA0OC4xMjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubmFycm93LWNvbnRlbnQtOTQwIHtcbiAgbWF4LXdpZHRoOiA1OC43NXJlbTtcbn1cblxuLm5hcnJvdy1jb250ZW50LTEwNjAge1xuICBtYXgtd2lkdGg6IDY2LjI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLndpZHRoLTEwMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubGluay1idXR0b24ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwNzk1MztcbiAgcGFkZGluZzogMC43NXJlbSAwO1xufVxuXG4ubGluay1idXR0b24td2hpdGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xufVxuXG4ubGluay13aXRoLWFycm93LXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjc1cmVtO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG4ubGluay13aXRoLWFycm93LXJpZ2h0OmFmdGVyIHtcbiAgY29udGVudDogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2h1bWFuaXRhcy1haS9hc3NldHMvaW1hZ2VzL2Fycm93LXJpZ2h0LnN2Z1wiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmxpbmstd2l0aC1hcnJvdy1yaWdodC13aGl0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS43NXJlbTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuLmxpbmstd2l0aC1hcnJvdy1yaWdodC13aGl0ZTphZnRlciB7XG4gIGNvbnRlbnQ6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9odW1hbml0YXMtYWkvYXNzZXRzL2ltYWdlcy9hcnJvdy1yaWdodC13aGl0ZS5zdmdcIik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuaGlkZS1vbi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGUtb24tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5tLWItMTYge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubS1iLTI0IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4ubS1iLTMyIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cblxuLm0tYi00MCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLm5vLXBkLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uby1wZC1idCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5waWxsIHtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAjMDA3OTUzO1xuICBib3JkZXItcmFkaXVzOiAxLjg3NXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMS4xMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDA3OTUzO1xufVxuXG4uc2lkZS12ZWN0b3JzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2lkZS12ZWN0b3JzOmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2h1bWFuaXRhcy1haS9hc3NldHMvaW1hZ2VzL2Jsb2NrLXByb2plY3QtdmVjdG9yMS5zdmdcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoKDEwMHZ3IC0gOTMlKSAvIC0yKTtcbiAgICB0b3A6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2lkZS12ZWN0b3JzOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvaHVtYW5pdGFzLWFpL2Fzc2V0cy9pbWFnZXMvYmxvY2stcHJvamVjdC12ZWN0b3IyLnN2Z1wiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gOTMlKSAvIC0yKTtcbiAgICB0b3A6IC0xLjI1cmVtO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG5cbi5zaWRlLXZlY3RvcnMtYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zaWRlLXZlY3RvcnMtYmxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvaHVtYW5pdGFzLWFpL2Fzc2V0cy9pbWFnZXMvYmxvY2stcHJvamVjdC12ZWN0b3IxLnN2Z1wiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogY2FsYygoMTAwdncgLSA5MyUpIC8gLTIpO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zaWRlLXZlY3RvcnMtYmxvY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9odW1hbml0YXMtYWkvYXNzZXRzL2ltYWdlcy9ibG9jay1wcm9qZWN0LXZlY3RvcjIuc3ZnXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYygoMTAwdncgLSA5MyUpIC8gLTIpO1xuICAgIHRvcDogLTEuMjVyZW07XG4gICAgei1pbmRleDogLTE7XG4gIH1cbn1cblxuLmRpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI0QzRDNEMztcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG59XG5cbi5zZWN0aW9uUGFkZGluZ1hTIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uUGFkZGluZ1hTIHtcbiAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5zZWN0aW9uUGFkZGluZ1hTIHtcbiAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cblxuLnNlY3Rpb25QYWRkaW5nTSB7XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlY3Rpb25QYWRkaW5nTSB7XG4gICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNlY3Rpb25QYWRkaW5nTSB7XG4gICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIH1cbn1cblxuLnNlY3Rpb25QYWRkaW5nTCB7XG4gIHBhZGRpbmctdG9wOiA1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc2VjdGlvblBhZGRpbmdMIHtcbiAgICBwYWRkaW5nLXRvcDogNi4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuc2VjdGlvblBhZGRpbmdMIHtcbiAgICBwYWRkaW5nLXRvcDogNy41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjVyZW07XG4gIH1cbn1cblxuLnNlY3Rpb25QYWRkaW5nLUQtMTAwIHtcbiAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWN0aW9uUGFkZGluZy1ELTEwMCB7XG4gICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNlY3Rpb25QYWRkaW5nLUQtMTAwIHtcbiAgICBwYWRkaW5nLXRvcDogNi4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTtcbiAgfVxufVxuXG4ubGluZS1oZWlnaHQtMS00NSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uZm9udC1zaXplLTIwIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZvbnQtc2l6ZS0yMCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG59XG5cbi5mb250LXNpemUtMzAge1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZvbnQtc2l6ZS0zMCB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgfVxufVxuXG4uYm9yZGVyLWdyYWRpZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYm9yZGVyLWdyYWRpZW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgcGFkZGluZzogMS41cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MS41ZGVnLCAjQThGMEQyIC0zLjczJSwgcmdiYSgwLCAxMjEsIDgzLCAwKSAxNy44MSUpLCBsaW5lYXItZ3JhZGllbnQoMjk3Ljc2ZGVnLCAjQThGMEQyIDMuNTglLCByZ2JhKDAsIDEyMSwgODMsIDApIDI1LjE0JSk7XG4gIC13ZWJraXQtbWFzazogbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCwgbGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKTtcbiAgLXdlYmtpdC1tYXNrLWNvbXBvc2l0ZTogeG9yO1xuICBtYXNrLWNvbXBvc2l0ZTogZXhjbHVkZTtcbn1cblxuLnByb2plY3RzLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgcGFkZGluZzogMS41cmVtIDA7XG4gIGdhcDogMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIHtcbiAgICBnYXA6IDEuMjVyZW07XG4gICAgcGFkZGluZzogMy4xMjVyZW0gMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucHJvamVjdHMtYmxvY2sgLnByb2plY3RzLXdyYXBwZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cbn1cbi5wcm9qZWN0cy1ibG9jayAucHJvamVjdHMtd3JhcHBlciAucHJvamVjdC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5wcm9qZWN0LWdyb3VwIHtcbiAgICBnYXA6IDEuMjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5wcm9qZWN0LWdyb3VwOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7IC8qIEVuc3VyZSB0aGUgdGhpcmQgY29sdW1uIHNwYW5zIGZ1bGwgd2lkdGggKi9cbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbi5wcm9qZWN0cy1ibG9jayAucHJvamVjdHMtd3JhcHBlciAuc2luZ2xlLXByb2plY3QtYmxvY2sge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wcm9qZWN0cy1ibG9jayAucHJvamVjdHMtd3JhcHBlciAuc2luZ2xlLXByb2plY3QtYmxvY2s6aG92ZXIgYTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jazpob3ZlciBhIC5ob3Zlci1zdGF0ZSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5wcm9qZWN0cy1ibG9jayAucHJvamVjdHMtd3JhcHBlciAuc2luZ2xlLXByb2plY3QtYmxvY2s6aG92ZXIgYSAucHJvamVjdC10aXRsZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jay5zbWFsbCB7XG4gIGhlaWdodDogMTUuNjI1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucHJvamVjdHMtYmxvY2sgLnByb2plY3RzLXdyYXBwZXIgLnNpbmdsZS1wcm9qZWN0LWJsb2NrLnNtYWxsIHtcbiAgICBoZWlnaHQ6IDE3LjM3NXJlbTtcbiAgfVxufVxuLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jay5iaWcge1xuICBoZWlnaHQ6IDIzLjEyNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jay5iaWcge1xuICAgIGhlaWdodDogMzAuNDM3NXJlbTtcbiAgfVxufVxuLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jayBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jayBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDApIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjcpIDEwMCUpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jayBhOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwKSA1MCUsIHJnYmEoMCwgMCwgMCwgMC43KSA5NSUpO1xuICB9XG59XG4ucHJvamVjdHMtYmxvY2sgLnByb2plY3RzLXdyYXBwZXIgLnNpbmdsZS1wcm9qZWN0LWJsb2NrIGEgLnByb2plY3QtdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jayBhIC5wcm9qZWN0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cbn1cbi5wcm9qZWN0cy1ibG9jayAucHJvamVjdHMtd3JhcHBlciAuc2luZ2xlLXByb2plY3QtYmxvY2sgYSAuaG92ZXItc3RhdGUge1xuICBkaXNwbGF5OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wcm9qZWN0cy1ibG9jayAucHJvamVjdHMtd3JhcHBlciAuc2luZ2xlLXByb2plY3QtYmxvY2sgYSAuaG92ZXItc3RhdGUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9odW1hbml0YXMtYWkvYXNzZXRzL2ltYWdlcy9ob3Zlci1zdGF0ZS1iZy5wbmdcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjZzIGVhc2UtaW4tb3V0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogMS4yNXJlbTtcbiAgfVxuICAucHJvamVjdHMtYmxvY2sgLnByb2plY3RzLXdyYXBwZXIgLnNpbmdsZS1wcm9qZWN0LWJsb2NrIGEgLmhvdmVyLXN0YXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gIH1cbiAgLnByb2plY3RzLWJsb2NrIC5wcm9qZWN0cy13cmFwcGVyIC5zaW5nbGUtcHJvamVjdC1ibG9jayBhIC5ob3Zlci1zdGF0ZSA+ICoge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cbn1cbi5wcm9qZWN0cy1ibG9jayAucHJvamVjdHMtd3JhcHBlciAuc2luZ2xlLXByb2plY3QtYmxvY2sgYSAuaG92ZXItc3RhdGUgaDMge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBjb2xvcjogIzAwMDtcbn1cbi5wcm9qZWN0cy1ibG9jayAucHJvamVjdHMtd3JhcHBlciAuc2luZ2xlLXByb2plY3QtYmxvY2sgYSAuaG92ZXItc3RhdGUgcCB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNmZmY7XG59XG4ucHJvamVjdHMtYmxvY2sgLnByb2plY3RzLXdyYXBwZXIgLnNpbmdsZS1wcm9qZWN0LWJsb2NrIGEgLmhvdmVyLXN0YXRlIHNwYW4ge1xuICBjb2xvcjogIzAwNzk1MztcbiAgY3Vyc29yOiBwb2ludGVyO1xufSIsIkBpbXBvcnQgXCIuLi9taXhpbnMvbWl4aW5zLW1hc3RlclwiO1xuXG4kdGVtcGxhdGVfZGlyZWN0b3J5OiAnL3dwLWNvbnRlbnQvdGhlbWVzL2h1bWFuaXRhcy1haSc7XG5cbiRzaXplcy1tb2JpbGU6IChcbiAgICAgICAgeHM6IHJlbSg0KSwgLy8gU21hbGxlciBiYXNlIHNpemUgZm9yIGV4dHJhIHNtYWxsIGVsZW1lbnRzIG9uIG1vYmlsZVxuICAgICAgICBzOiByZW0oOCksIC8vIFNtYWxsIHNpemUgZm9yIGVsZW1lbnRzIG9uIG1vYmlsZVxuICAgICAgICBkOiByZW0oMTIpLCAvLyBEZWZhdWx0IHNpemUsIHVzZWQgbW9yZSBmcmVxdWVudGx5IG9uIG1vYmlsZVxuICAgICAgICBtOiByZW0oMTYpLCAvLyBNZWRpdW0gc2l6ZSBmb3IgbW9iaWxlLCBzbGlnaHRseSBzbWFsbGVyIHRoYW4gZGVza3RvcFxuICAgICAgICBsOiByZW0oMjApLCAvLyBMYXJnZXIgc2l6ZSwgbGVzcyBjb21tb24gb24gbW9iaWxlXG4gICAgICAgIHhsOiByZW0oMjQpLCAvLyBFeHRyYSBsYXJnZSBzaXplIGZvciBwcm9taW5lbnQgZWxlbWVudHMgb24gbW9iaWxlXG4gICAgICAgIHh4bDogcmVtKDI4KSwgLy8gRXh0cmEgZXh0cmEgbGFyZ2Ugc2l6ZSwgcmFyZWx5IHVzZWQgb24gbW9iaWxlXG4gICAgICAgIHh4eGw6IHJlbSgzMikgLy8gTGFyZ2VzdCBzaXplLCB0eXBpY2FsbHkgZm9yIHNwZWNpYWwgdXNlIGNhc2VzXG4pO1xuXG4kc2l6ZXMtdGFibGV0OiAoXG4gICAgICAgIHhzOiByZW0oNiksIC8vIFNsaWdodGx5IGxhcmdlciB0aGFuIG1vYmlsZSBleHRyYSBzbWFsbCBzaXplXG4gICAgICAgIHM6IHJlbSgxMCksIC8vIFNtYWxsIHNpemUgYWRqdXN0ZWQgZm9yIHRhYmxldFxuICAgICAgICBkOiByZW0oMTYpLCAvLyBEZWZhdWx0IHNpemUsIGNvbW1vbiBvbiB0YWJsZXQgc2NyZWVuc1xuICAgICAgICBtOiByZW0oMjApLCAvLyBNZWRpdW0gc2l6ZSwgc2ltaWxhciB0byBzbWFsbGVyIGRlc2t0b3Agc2l6ZXNcbiAgICAgICAgbDogcmVtKDI2KSwgLy8gTGFyZ2VyIHNpemUsIGZvciBub3RhYmxlIGVsZW1lbnRzIG9uIHRhYmxldHNcbiAgICAgICAgeGw6IHJlbSgzNCksIC8vIEV4dHJhIGxhcmdlLCBnZXR0aW5nIGNsb3NlciB0byBkZXNrdG9wIHNpemVzXG4gICAgICAgIHh4bDogcmVtKDM4KSwgLy8gRXh0cmEgZXh0cmEgbGFyZ2UgZm9yIHN0YW5kb3V0IHRhYmxldCBlbGVtZW50c1xuICAgICAgICB4eHhsOiByZW0oNDQpIC8vIExhcmdlc3Qgc2l6ZSwgdXNlZnVsIGZvciBwcm9taW5lbnQgaXRlbXMgb24gdGFibGV0c1xuKTtcblxuJHNpemVzLWRlc2t0b3A6IChcbiAgICAgICAgeHM6IHJlbSg4KSwgLy8gRXh0cmEgc21hbGwgc2l6ZSBmb3IgZGVza3RvcCwgdXNlZCBmb3Igc21hbGwgZWxlbWVudHNcbiAgICAgICAgczogcmVtKDEyKSwgLy8gU21hbGwgc2l6ZSBmb3IgZGVza3RvcCwgc2xpZ2h0bHkgbGFyZ2VyIHRoYW4gdGFibGV0XG4gICAgICAgIGQ6IHJlbSgyMCksIC8vIERlZmF1bHQgc2l6ZSwgY29tbW9uIGZvciBtYW55IGRlc2t0b3AgZWxlbWVudHNcbiAgICAgICAgbTogcmVtKDI0KSwgLy8gTWVkaXVtIHNpemUsIGZyZXF1ZW50bHkgdXNlZCBvbiBkZXNrdG9wc1xuICAgICAgICBsOiByZW0oMzIpLCAvLyBMYXJnZSBzaXplIGZvciBkZXNrdG9wLCB1c2VkIGZvciBrZXkgY29tcG9uZW50c1xuICAgICAgICB4bDogcmVtKDQwKSwgLy8gRXh0cmEgbGFyZ2Ugc2l6ZSBmb3Igc2lnbmlmaWNhbnQgZGVza3RvcCBlbGVtZW50c1xuICAgICAgICB4eGw6IHJlbSg0NCksIC8vIEV4dHJhIGV4dHJhIGxhcmdlIHNpemUgZm9yIGVtcGhhc2lzXG4gICAgICAgIHh4eGw6IHJlbSg1MCkgLy8gTGFyZ2VzdCBzaXplLCB0eXBpY2FsbHkgZm9yIHZlcnkgbGFyZ2UgZGVza3RvcCBpdGVtc1xuKTtcblxuLy8gTW9iaWxlIHN0eWxlcyAoZGVmYXVsdCwgbm8gbWVkaWEgcXVlcnkpXG5AaW5jbHVkZSBnZW5lcmF0ZS1zaXplLWNsYXNzZXMoJHNpemVzLW1vYmlsZSwgbW9iaWxlKTtcblxuLy8gVGFibGV0IHN0eWxlcyAod2l0aCBtZWRpYSBxdWVyeSlcbkBpbmNsdWRlIGdlbmVyYXRlLXNpemUtY2xhc3Nlcygkc2l6ZXMtdGFibGV0LCB0YWJsZXQsIHRhYmxldCk7XG5cbi8vIERlc2t0b3Agc3R5bGVzICh3aXRoIG1lZGlhIHF1ZXJ5IHN0YXJ0aW5nIGF0IGxhcHRvcHhzIGJyZWFrcG9pbnQpXG5AaW5jbHVkZSBnZW5lcmF0ZS1zaXplLWNsYXNzZXMoJHNpemVzLWRlc2t0b3AsIGRlc2t0b3AsIGxhcHRvcHhzKTtcblxuXG4uYm9yZGVyLXJhZGl1cy1zIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcztcbn1cblxuLmJvcmRlci1yYWRpdXMtbSB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW07XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyLW1vYmlsZSB7XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZWRvd24pIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5uYXJyb3ctY29udGVudC0yODYge1xuICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICBtYXgtd2lkdGg6IHJlbSgyODYpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5uYXJyb3ctY29udGVudC0zNDAge1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBtYXgtd2lkdGg6IHJlbSgzNDApO1xuICB9XG59XG5cbi5uYXJyb3ctY29udGVudC0zODAge1xuICBtYXgtd2lkdGg6IHJlbSgzODApO1xufVxuXG4ubmFycm93LWNvbnRlbnQtNDUwIHtcbiAgbWF4LXdpZHRoOiByZW0oNDUwKTtcbn1cblxuLm5hcnJvdy1jb250ZW50LTQ4MCB7XG4gIG1heC13aWR0aDogcmVtKDQ4MCk7XG59XG5cbi5uYXJyb3ctY29udGVudC01MDAge1xuICBtYXgtd2lkdGg6IHJlbSg1MDApO1xufVxuXG4ubmFycm93LWNvbnRlbnQtNjAwIHtcbiAgbWF4LXdpZHRoOiByZW0oNjAwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5uYXJyb3ctY29udGVudC03MjAge1xuICBtYXgtd2lkdGg6IHJlbSg3MjApO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm5hcnJvdy1jb250ZW50LTc3MCB7XG4gIG1heC13aWR0aDogcmVtKDc3MCk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubmFycm93LWNvbnRlbnQtOTQwIHtcbiAgbWF4LXdpZHRoOiByZW0oOTQwKTtcbn1cblxuLm5hcnJvdy1jb250ZW50LTEwNjAge1xuICBtYXgtd2lkdGg6IHJlbSgxMDYwKTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi53aWR0aC0xMDAge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmxpbmstYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gIHBhZGRpbmc6IHJlbSgxMikgMDtcbn1cblxuLmxpbmstYnV0dG9uLXdoaXRlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiByZW0oMTIpIDA7XG59XG5cbi5saW5rLXdpdGgtYXJyb3ctcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbSgyOCk7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCIjeyR0ZW1wbGF0ZV9kaXJlY3Rvcnl9L2Fzc2V0cy9pbWFnZXMvYXJyb3ctcmlnaHQuc3ZnXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLmxpbmstd2l0aC1hcnJvdy1yaWdodC13aGl0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogcmVtKDI4KTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IHVybChcIiN7JHRlbXBsYXRlX2RpcmVjdG9yeX0vYXNzZXRzL2ltYWdlcy9hcnJvdy1yaWdodC13aGl0ZS5zdmdcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG4uaGlkZS1vbi1tb2JpbGUge1xuICBAaW5jbHVkZSBicCh0YWJsZXRkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5oaWRlLW9uLWRlc2t0b3Age1xuICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm0tYi0xNiB7XG4gIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG59XG5cbi5tLWItMjQge1xuICBtYXJnaW4tYm90dG9tOiByZW0oMjQpO1xufVxuXG4ubS1iLTMyIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtKDMyKTtcbn1cblxuLm0tYi00MCB7XG4gIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG59XG5cbi5uby1wZC10b3Age1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tcGQtYnQge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4ucGlsbCB7XG4gIGJvcmRlcjogMS41cHggc29saWQgJGNvbG9yX19wcmltYXJ5O1xuICBib3JkZXItcmFkaXVzOiByZW0oMzApO1xuICBwYWRkaW5nOiByZW0oNikgcmVtKDE4KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICRjb2xvcl9fcHJpbWFyeTtcbn1cblxuLnNpZGUtdmVjdG9ycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICBjb250ZW50OiB1cmwoXCIjeyR0ZW1wbGF0ZV9kaXJlY3Rvcnl9L2Fzc2V0cy9pbWFnZXMvYmxvY2stcHJvamVjdC12ZWN0b3IxLnN2Z1wiKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IGNhbGMoKDEwMHZ3IC0gJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlKSAvIC0yKTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIiN7JHRlbXBsYXRlX2RpcmVjdG9yeX0vYXNzZXRzL2ltYWdlcy9ibG9jay1wcm9qZWN0LXZlY3RvcjIuc3ZnXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlKSAvIC0yKTtcbiAgICAgIHRvcDogcmVtKC0yMCk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgfVxufVxuXG4uc2lkZS12ZWN0b3JzLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIiN7JHRlbXBsYXRlX2RpcmVjdG9yeX0vYXNzZXRzL2ltYWdlcy9ibG9jay1wcm9qZWN0LXZlY3RvcjEuc3ZnXCIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogY2FsYygoMTAwdncgLSAkc2l0ZV93aWR0aF90YWJsZXRsYW5kc2NhcGUpIC8gLTIpO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgICAgY29udGVudDogdXJsKFwiI3skdGVtcGxhdGVfZGlyZWN0b3J5fS9hc3NldHMvaW1hZ2VzL2Jsb2NrLXByb2plY3QtdmVjdG9yMi5zdmdcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogY2FsYygoMTAwdncgLSAkc2l0ZV93aWR0aF90YWJsZXRsYW5kc2NhcGUpIC8gLTIpO1xuICAgICAgdG9wOiByZW0oLTIwKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICB9XG59XG5cbi5kaXZpZGVyIHtcbiAgQGluY2x1ZGUgZGl2aWRlcjtcbn1cblxuLnNlY3Rpb25QYWRkaW5nWFMge1xuICBAaW5jbHVkZSBzZWN0aW9uUGFkZGluZ1hTO1xufVxuXG4uc2VjdGlvblBhZGRpbmdNIHtcbiAgQGluY2x1ZGUgc2VjdGlvblBhZGRpbmdNO1xufVxuXG4uc2VjdGlvblBhZGRpbmdMIHtcbiAgQGluY2x1ZGUgc2VjdGlvblBhZGRpbmdMO1xufVxuXG4uc2VjdGlvblBhZGRpbmctRC0xMDAge1xuICBAaW5jbHVkZSBzZWN0aW9uUGFkZGluZ0QxMDA7XG59XG5cbi5saW5lLWhlaWdodC0xLTQ1IHtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi5mb250LXNpemUtMjAge1xuICBmb250LXNpemU6IHJlbSgxOCk7XG4gIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgfVxufVxuXG4uZm9udC1zaXplLTMwIHtcbiAgZm9udC1zaXplOiByZW0oMjQpO1xuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gIH1cbn1cblxuLmJvcmRlci1ncmFkaWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgYm9yZGVyR3JhZGllbnQ7XG59XG5cbi8vLmNhcmRzLWdyYWRpZW50LWJvcmRlciB7XG4vLyAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gIGJhY2tncm91bmQ6ICNmZmY7IC8vIE9yIGFueSBiYWNrZ3JvdW5kIGNvbG9yIHlvdSBwcmVmZXJcbi8vICBib3JkZXItcmFkaXVzOiAxMHB4OyAvLyBBZGp1c3QgdGhpcyB2YWx1ZSBhcyBuZWVkZWRcbi8vXG4vL1xuLy99IiwiXG4vLyBEZWZhdWx0IC0gMzIxIC0gNDAwXG5cbkBtaXhpbiBicCgkcG9pbnQpIHtcblxuICBAaWYgJHBvaW50ID09IHBob25leHhze1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkcG9pbnQgPT0gcGhvbmV4c2Rvd257XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25leGx7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IHBob25lbGFuZHNjYXBlIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTY4cHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb2ludCA9PSBwaG9uZWxhbmRzY2FwZU9ubHkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NjhweCkgYW5kIChtYXgtd2lkdGg6IDY3MHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9pbnQgPT0gcGhvbmVsYW5kc2NhcGV4bE9ubHkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRkb3duIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXRsYW5kc2NhcGVkb3due1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldGxhbmRzY2FwZXtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRwb2ludCA9PSBsYXB0b3B4cyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCl7XG4gICAgICBAY29udGVudDsgXG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGxhcHRvcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFwdG9weGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpe1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3B4cyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCl7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcHhsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KXtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG59IiwiLy8gTWFpbiBDb250YWluZXIgU2l6ZXNcbiRzaXRlX3dpZHRoX2xhcHRvcHhzOiByZW0oMTIwMCk7XG4kc2l0ZV93aWR0aF90YWJsZXRsYW5kc2NhcGU6IDkzJTtcbiRzaXRlX3dpZHRoX3RhYmxldDogcmVtKDczMCk7XG5cbiRzaW5nbGVfcG9zdF9jb250ZW50X3dpZHRoX2Rlc2t0b3A6IHJlbSg3MjApO1xuXG4vL0hlYWRlciBzaXplc1xuJGhlYWRlcl9oZWlnaHRfbW9iaWxlOiByZW0oNTApO1xuJGhlYWRlcl9oZWlnaHRfZGVza3RvcDogcmVtKDQ4KTtcblxuLy8gQm9yZGVyIHJhZGl1c1xuJGJvcmRlci1yYWRpdXMtczogcmVtKDEyKTtcbiRib3JkZXItcmFkaXVzLW06IHJlbSgyNCk7IiwiLy8gIEZvbnRzIGFuZCBpY29uc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vXG4vL1xuLy8gRm9yIEdvb2dsZSBGb250cyB1c2UgIGh0dHBzOi8vZ29vZ2xlLXdlYmZvbnRzLWhlbHBlci5oZXJva3VhcHAuY29tL2ZvbnRzXG4vLyBhbmQgcHV0IHRoZSBkZWZpbml0aW9ucyBpbiB0eXBvZ3JhcGh5L2ZvbnRfZmFjZXNcbi8vXG4vL1xuXG4vLyBVc2VkIG1haW5seSBmb3IgR3V0ZW5iZXJnIGZvbnQtc2l6ZXNcbi8vRGVza3RvcFxuJGZvbnQtc2l6ZS14czogcmVtKDEyKTtcbiRmb250LXNpemUtczogcmVtKDE0KTtcbiRmb250LXNpemUtZDogcmVtKDE2KTtcbiRmb250LXNpemUtbTogcmVtKDE4KTtcbiRmb250LXNpemUtbDogcmVtKDI0KTtcbiRmb250LXNpemUteGw6IHJlbSgzMik7XG4kZm9udC1zaXplLXh4bDogcmVtKDUyKTtcbiRmb250LXNpemUteHh4bDogcmVtKDQ2KTtcblxuLy9Nb2JpbGUgR3V0ZW5iZXJnIGZvbnQtc2l6ZXNcbiRmb250LXNpemUteHMtbW9iaWxlOiByZW0oMTApO1xuJGZvbnQtc2l6ZS1zLW1vYmlsZTogcmVtKDE0KTtcbiRmb250LXNpemUtZC1tb2JpbGU6IHJlbSgxNik7XG4kZm9udC1zaXplLW0tbW9iaWxlOiByZW0oMTYpO1xuJGZvbnQtc2l6ZS1sLW1vYmlsZTogcmVtKDIyKTtcbiRmb250LXNpemUteGwtbW9iaWxlOiByZW0oMjgpO1xuJGZvbnQtc2l6ZS14eGwtbW9iaWxlOiByZW0oMzIpO1xuJGZvbnQtc2l6ZS14eHhsLW1vYmlsZTogcmVtKDM2KTtcblxuLy9UYWJsZXQgR3V0ZW5iZXJnIGZvbnQtc2l6ZXMgIChNYXliZSBsZWF2ZSBzYW1lIGFzIG1vYmlsZSBmb3Igc3RhcnRlcnMpXG4kZm9udC1zaXplLXhzLXRhYmxldDogcmVtKDEwKTtcbiRmb250LXNpemUtcy10YWJsZXQ6IHJlbSgxNCk7XG4kZm9udC1zaXplLWQtdGFibGV0OiByZW0oMTYpO1xuJGZvbnQtc2l6ZS1tLXRhYmxldDogcmVtKDE2KTtcbiRmb250LXNpemUtbC10YWJsZXQ6IHJlbSgyMik7XG4kZm9udC1zaXplLXhsLXRhYmxldDogcmVtKDI4KTtcbiRmb250LXNpemUteHhsLXRhYmxldDogcmVtKDMyKTtcbiRmb250LXNpemUteHh4bC10YWJsZXQ6IHJlbSgzNik7XG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnTGF0bycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG5cbiRmb250X19tYWluOiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRmb250X19jb2RlOiBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4kZm9udF9fcHJlOiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xuJGZvbnRfX2xpbmUtaGVpZ2h0LWJvZHk6IDEuMjtcbiRmb250X19saW5lLWhlaWdodC1wcmU6IDEuNjtcblxuJGZvbnRfZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRmb250X2ZhbWlseV9tZW51OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbiRmb250X2ZhbWlseV9oZWFkaW5nczogJGZvbnQtZmFtaWx5LXNlcmlmO1xuXG4kZWFzaW5nOiBlYXNlLW91dDtcblxuXG5cblxuIiwiLy8gQWRkIHlvdXIgbWFpbiBjb2xvciB2YXJpYWJsZXMgaGVyZVxuXG4kY29sb3JfX3ByaW1hcnk6ICMwMDc5NTM7XG5cbiRncmV5LXRleHQ6ICM2RDcxODE7XG4kZGFyay1ncmV5OiAjMzMzMzMzO1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuXG4vLyBWYXJpYWJsZXMgZm9ybSBVbmRlcnNjb3Jlc1xuXG4vL1RoZSBuZXh0IGZldyBzaG91bGQgYmUgcmV2aXNlZCBvbiBwcm9qZWN0IHN0YXJ0OlxuJGNvbG9yX190ZXh0LW1haW46ICM0MDQwNDA7IC8vIE1haW4gdGV4dCBjb2xvclxuXG4kY29sb3JfX2xpbms6ICMwMDg2ZTY7IC8vIExpbmtzXG4kY29sb3JfX2xpbmstdmlzaXRlZDogbGlnaHRlbigkY29sb3JfX2xpbmssIDEwJSk7XG4kY29sb3JfX2xpbmstaG92ZXI6ICR3aGl0ZTtcblxuJGNvbG9yX19iYWNrZ3JvdW5kLWJvZHk6ICR3aGl0ZTtcblxuXG4vL0J1dHRvbnNcbiRjb2xvcl9fdGV4dC1idXR0b246ICR3aGl0ZTtcbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b246ICRjb2xvcl9fcHJpbWFyeTtcblxuJGNvbG9yX19iYWNrZ3JvdW5kLWJ1dHRvbi1ob3ZlcjogbGlnaHRlbigkY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLCA0JSk7XG4kY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLWZvY3VzOiBsaWdodGVuKCRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24sIDglKTtcblxuLy9JbnB1dHNcbiRjb2xvcl9fYm9yZGVyLWlucHV0OiAjRDNEM0QzO1xuJGNvbG9yX19ib3JkZXItYWJicjogIzY2NjtcbiRjb2xvcl9fdGV4dC1zY3JlZW46ICMyMTc1OWI7XG4kY29sb3JfX3RleHQtaW5wdXQ6ICM2NjY7XG4kY29sb3JfX3RleHQtaW5wdXQtZm9jdXM6ICMxMTE7XG5cblxuLy9UaGVzZSBjYW4gYmUgcmV2aXNlZCBvbiB0aGUgbW92ZSB3aGlsZSBkZXZlbG9waW5nOlxuJGNvbG9yX19iYWNrZ3JvdW5kLXNjcmVlbjogI2YxZjFmMTtcbiRjb2xvcl9fYmFja2dyb3VuZC1ocjogI2NjYztcbiRjb2xvcl9fYmFja2dyb3VuZC1wcmU6ICNlZWU7XG4kY29sb3JfX2JhY2tncm91bmQtaW5zOiAjZmZmOWMwO1xuXG4vLyBCbG9nXG4kY29sb3JfX2JhY2tncm91bmQtZGFya2VyLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMThkZWcsICNCQ0Y0OTEgLTMxLjY0JSwgIzlERUFBOCAxLjk5JSwgIzZFRDU4NiAzMC41NSUsICMyQzRBODUgOTAuMiUpO1xuJGNvbG9yX19iYWNrZ3JvdW5kLWJsb2ctaGVhZGVyLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMjM4LjMyZGVnLCAjQkNGNDkxIC0zMS42NCUsICM5REVBQTggMS45OSUsICM2RUQ1ODYgMzAuNTUlLCAjMkM0QTg1IDkwLjIlKTtcblxuJGNvbG9yX19iYWNrZ3JvdW5kLWF1dGhvcjogI0Y2RjlGRjtcblxuXG4iLCIvL0luY2x1ZGUgU2hhcmVkIHZhcmlhYmxlcy9taXhpbnMvc3R5bGVzIHdpdGggdGhlIG1haW4gU3R5bGVzIG9mIHRoZSBzaXRlXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbi5wcm9qZWN0cy1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAucHJvamVjdHMtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIHBhZGRpbmc6IHJlbSgyNCkgMDtcbiAgICBnYXA6IHJlbSgxNik7XG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICBnYXA6IHJlbSgyMCk7XG4gICAgICBwYWRkaW5nOiByZW0oNTApIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cblxuICAgIC5wcm9qZWN0LWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiByZW0oMTYpO1xuICAgICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICAgIGdhcDogcmVtKDIwKTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMykge1xuXG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZWRvd24pIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOyAvKiBFbnN1cmUgdGhlIHRoaXJkIGNvbHVtbiBzcGFucyBmdWxsIHdpZHRoICovXG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNpbmdsZS1wcm9qZWN0LWJsb2NrIHtcblxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcztcblxuICAgICAgLy9iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDApIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjcpIDk1JSksICRjb2xvcl9fcHJpbWFyeTtcbiAgICAgIC8vYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwKSA1MCUsIHJnYmEoMCwgMCwgMCwgMC43KSA5NSUpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXG4gICAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhvdmVyLXN0YXRlIHtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvamVjdC10aXRsZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zbWFsbCB7XG4gICAgICAgIGhlaWdodDogcmVtKDI1MCk7XG4gICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgICAgICAgIGhlaWdodDogcmVtKDI3OCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5iaWcge1xuICAgICAgICBoZWlnaHQ6IHJlbSgzNzApO1xuICAgICAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbSg0ODcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMzIpIHJlbSgyNCk7XG4gICAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwKSA0MCUsIHJnYmEoMCwgMCwgMCwgMC43KSAxMDAlKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwKSA1MCUsIHJnYmEoMCwgMCwgMCwgMC43KSA5NSUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9qZWN0LXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhvdmVyLXN0YXRlIHtcblxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyR0ZW1wbGF0ZV9kaXJlY3Rvcnl9L2Fzc2V0cy9pbWFnZXMvaG92ZXItc3RhdGUtYmcucG5nXCIpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMikgcmVtKDI0KTtcbiAgICAgICAgICAgIC8vb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZ2FwOiByZW0oMjApO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCNmZmYsIDAuNCk7XG4gICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgLy9jb2xvcjogJGdyZXktdGV4dDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfX3ByaW1hcnk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgIH1cbiAgfVxufVxuIl19 */
