/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./.customize/theme.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@media only screen and (min-width: 640px) {
  .site-header__box-link, .process__bottom-secondary .button {
    font-size: 1.9rem;
  }
}
.contact-form .form {
  grid-template-columns: 1fr;
}
@media only screen and (max-width: 639.99px) {
  .contact-form .form {
    gap: 2.4rem 0;
  }
}
@media only screen and (min-width: 640px) {
  .contact-form .form {
    grid-template-columns: repeat(2, 1fr);
  }
}

#contact_consent {
  width: 2.8rem;
  height: 2.8rem;
}

.page-header__content-form {
  padding: var(--content-padding);
  background: var(--color-orange);
}
@media screen and (max-width: 1279px) {
  .page-header__content-form {
    padding-right: var(--content-padding);
  }
}
@media only screen and (max-width: 639.99px) {
  .page-header__content-form .form-item--email,
  .page-header__content-form .form-item--phone,
  .page-header__content-form .form-item--consent,
  .page-header__content-form .form-item--submit {
    grid-column: 1 !important;
  }
}
.page-header__content-form .label.for-checkbox {
  color: white !important;
  padding-top: 0.2em;
}
.page-header__content-form .form-item--message {
  grid-column: 1/3;
}
.page-header__content-form .form-item--consent {
  margin-top: 3.2rem;
}
@media only screen and (min-width: 640px) {
  .page-header__content-form .form-item--consent {
    grid-column: 1/2;
  }
}
.page-header__content-form .form-item--consent .input-wrapper {
  display: inline-flex;
}
.page-header__content-form .form-item--consent .input-wrapper input[type=checkbox] {
  width: 2.8rem;
  height: 2.8rem;
}
.page-header__content-form .form-item--consent a {
  color: white;
}
@media only screen and (min-width: 640px) {
  .page-header__content-form .form-item--submit {
    grid-column: 2/3;
  }
}
.page-header__content-form .form-item--submit .button {
  width: 100%;
  color: white;
}
.page-header__content-form .form-item--submit .button::before, .page-header__content-form .form-item--submit .button::after {
  background: var(--color-navy) !important;
}

.site-footer {
  --space: calc(var(--content-padding) * 0.5);
  margin-top: var(--space);
}
.site-footer::before {
  height: var(--space);
}
.site-footer-content__social-links {
  display: flex;
  max-width: 10.5rem;
  align-items: flex-end;
  justify-content: space-between;
}
.site-footer-content__social-links .inner-container {
  width: unset;
}
.site-footer-content__social-links .image {
  width: unset !important;
  height: unset !important;
}
.site-footer-content__social-links .image a {
  display: flex;
  width: unset !important;
  height: unset !important;
}
.site-footer-content__social-links img {
  height: 2rem !important;
  width: auto !important;
  object-fit: contain !important;
}

.ceo__desc-person-image {
  margin-right: calc(-1 * var(--site-padding));
}
@media only screen and (min-width: 1280px) {
  .ceo__desc-person-image {
    margin-top: calc(-1 * (var(--site-padding) + 22vw));
  }
}
@media only screen and (min-width: 1279.99px) and (max-width: 1439.99px) {
  .ceo__desc-person-image {
    margin-top: calc(-1 * (var(--site-padding) + 45vw));
  }
}

.contact__bottom-title {
  height: unset !important;
  padding-top: calc(var(--content-padding) * 0.5);
  padding-bottom: 2em;
}
.contact__content {
  padding: calc(var(--content-padding)) var(--content-padding) var(--content-padding);
}
.contact__content-title {
  height: calc(var(--content-padding));
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
  padding-bottom: 2em;
}

.testimonials__company {
  flex-basis: 25%;
  position: relative !important;
  padding: 2.8rem;
}
@media only screen and (min-width: 1280px) {
  .testimonials__company {
    padding: 4.8rem;
  }
}
.testimonials__company-name {
  margin-top: 0 !important;
}

@media only screen and (min-width: 1920px) {
  #hero {
    height: clamp(100rem, 95vh, 145rem) !important;
  }
}

@media only screen and (min-width: 1280px) {
  .hero__content-image {
    margin-bottom: unset;
  }
  .hero__content-image img {
    object-position: top center;
  }
}

.person-image-small {
  object-position: top center;
  width: 6.4rem;
  margin-bottom: 1em;
  object-fit: cover;
}
@media only screen and (min-width: 1280px) {
  .person-image-small {
    width: 10rem;
  }
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-05 {
  margin-bottom: 0.5em !important;
}

.p-5 {
  padding: 5em;
}
.p-4 {
  padding: 4em;
}
.p-3 {
  padding: 3em;
}
.p-2 {
  padding: 2em;
}
.p-1 {
  padding: 1em;
}
.px-5 {
  padding-left: 5em;
  padding-right: 5em;
}
.px-4 {
  padding-left: 4em;
  padding-right: 4em;
}
.px-3 {
  padding-left: 3em;
  padding-right: 3em;
}
.px-2 {
  padding-left: 2em;
  padding-right: 2em;
}
.px-1 {
  padding-left: 1em;
  padding-right: 1em;
}
.py-5 {
  padding-top: 5em;
  padding-bottom: 5em;
}
.py-4 {
  padding-top: 4em;
  padding-bottom: 4em;
}
.py-3 {
  padding-top: 3em;
  padding-bottom: 3em;
}
.py-2 {
  padding-top: 2em;
  padding-bottom: 2em;
}
.py-1 {
  padding-top: 1em;
  padding-bottom: 1em;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.max-w-5 {
  width: 5em !important;
}
.max-w-4 {
  width: 4em !important;
}
.max-w-3 {
  width: 3em !important;
}
.max-w-2 {
  width: 2em !important;
}
.max-w-1 {
  width: 1em !important;
}
.max-h-5 {
  width: 5em !important;
}
.max-h-4 {
  width: 4em !important;
}
.max-h-3 {
  width: 3em !important;
}
.max-h-2 {
  width: 2em !important;
}
.max-h-1 {
  width: 1em !important;
}

.object-fit-contain {
  object-fit: contain !important;
}

body.page .hidden-front {
  display: none;
}

.block-editor .hidden-front, .block-editor .is-temporary-hidden {
  opacity: 0.15 !important;
}

@media only screen and (min-width: 1280px) {
  #process .process__image {
    min-height: 1070px;
    max-height: min(1100px, 100vh);
  }
}

.row {
  --gap: 2vw;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: var(--gap);
}

.col-12 {
  flex-basis: 100%;
}

.col-6 {
  flex-basis: 50%;
}
@media screen and (min-width: 800px) {
  .col-6 {
    flex-basis: calc((100% - 1px) / 12 * 6 - var(--gap) / 2);
  }
}

@media only screen and (min-width: 1280px) {
  .col-lg-6 {
    flex-basis: calc((100% - 1px) / 12 * 6 - var(--gap) / 2);
  }
}

@media only screen and (min-width: 1280px) {
  .w-lg-6 {
    width: calc(50% - var(--gap) / 2) !important;
  }
}

@media only screen and (min-width: 960px) {
  .w-md-8 {
    width: calc(66.6666666667% - var(--gap) / 2) !important;
  }
}

.col-4 {
  flex-basis: 100%;
}
@media screen and (min-width: 800px) {
  .col-4 {
    flex-basis: calc((100% - 1px) / 12 * 4 - var(--gap) / 2);
  }
}

.col-8 {
  flex-basis: 100%;
}
@media screen and (min-width: 800px) {
  .col-8 {
    flex-basis: calc((100% - 1px) / 12 * 8 - var(--gap) / 2);
  }
}

.col-3 {
  flex-basis: calc((100% - 1px) / 12 * 3 - var(--gap) / 2);
}

.col-9 {
  flex-basis: calc((100% - 1px) / 12 * 9 - var(--gap) / 2);
}

@media only screen and (min-width: 960px) {
  .col-md-3 {
    flex-basis: calc((100% - 1px) / 12 * 3 - var(--gap) / 2);
  }
}

@media only screen and (min-width: 960px) {
  .col-md-9 {
    flex-basis: calc((100% - 1px) / 12 * 9 - var(--gap) / 2);
  }
}

@media only screen and (min-width: 1280px) {
  .col-lg-3 {
    flex-basis: calc((100% - 1px) / 12 * 3 - var(--gap) / 2);
  }
}

@media only screen and (min-width: 1280px) {
  .col-lg-9 {
    flex-basis: calc((100% - 1px) / 12 * 9 - var(--gap) / 2);
  }
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-05 {
  margin-bottom: 0.5em !important;
}

.mx-0, .mx-0 {
  margin-right: 0 !important;
}

.mx-0, .mx-0 {
  margin-left: 0 !important;
}

.mt-0, .my-0 {
  margin-top: 0 !important;
}

.mb-0, .my-0 {
  margin-bottom: 0 !important;
}

.mt-5, .my-5 {
  margin-top: 30px;
}

.mb-5, .my-5 {
  margin-bottom: 30px;
}

.ms-5, .mx-5 {
  margin-left: 30px;
}

.me-5, .mx-5 {
  margin-right: 30px;
}

.mt-3, .my-3 {
  margin-top: 20px;
}

.mb-3, .my-3 {
  margin-bottom: 20px;
}

.ms-3, .mx-3 {
  margin-left: 20px;
}

.me-3, .mx-3 {
  margin-right: 20px;
}

@media screen and (min-width: 800px) {
  .mt-5, .my-5 {
    margin-top: 5vw;
  }
  .mb-5, .my-5 {
    margin-bottom: 5vw;
  }
  .ms-5, .mx-5 {
    margin-left: 5vw;
  }
  .me-5, .mx-5 {
    margin-right: 5vw;
  }
  .mt-3, .my-3 {
    margin-top: 3vw;
  }
  .mb-3, .my-3 {
    margin-bottom: 3vw;
  }
  .ms-3, .mx-3 {
    margin-left: 3vw;
  }
  .me-3, .mx-3 {
    margin-right: 3vw;
  }
}
.mt-1 {
  margin-top: 0.5em !important;
}

.mb-1 {
  margin-bottom: 0.5em !important;
}

.h1 {
  font-weight: 700;
  font-size: clamp(3.2rem, 3.2rem + 18 * (100vw - 375px) / 1545, 5rem);
}

.text-transform-none {
  text-transform: none !important;
}

.hidden {
  display: none !important;
}

.site-footer-content__social-links .site-footer-content__social-link.image {
  width: 25px !important;
  height: 25px !important;
  text-align: center;
  display: flex !important;
}
.site-footer-content__social-links .site-footer-content__social-link.image a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
}

@media only screen and (max-width: 1279.99px) {
  .site-footer-content__social-links .site-footer-content__social-link.image {
    width: 48px !important;
    height: 48px !important;
  }
}
.wp-block-html {
  width: 100%;
}

.site-navigation__container .menu .menu-item.menu-item-has-children .submenu-toggle {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-content: center;
  justify-content: center;
}
.site-navigation__container .menu .menu-item.menu-item-has-children .submenu-toggle .icon {
  margin: 0;
}
.site-navigation__container .menu .menu-item.menu-item-has-children .submenu-toggle:hover, .site-navigation__container .menu .menu-item.menu-item-has-children .submenu-toggle:focus {
  background: var(--color-orange);
  color: white;
}
.site-navigation__container .menu .menu-item.menu-item-has-children .submenu-toggle[aria-expanded=true] + .submenu {
  top: 100%;
}
.site-navigation__container .menu .menu-item.menu-item-has-children:hover > .submenu, .site-navigation__container .menu .menu-item.menu-item-has-children:focus > .submenu {
  opacity: 1;
  pointer-events: all;
  top: 100%;
}
.site-navigation__container .menu .menu-item.menu-item-has-children:hover > .submenu a, .site-navigation__container .menu .menu-item.menu-item-has-children:focus > .submenu a {
  visibility: unset !important;
}
.site-navigation__container .menu .submenu .menu-item-link {
  font-weight: 300 !important;
}
@media only screen and (min-width: 1280px) {
  .site-navigation__container .menu .submenu .menu-item-link {
    white-space: nowrap;
  }
}

.portfolio-item__type-link:first-child {
  margin-left: 0 !important;
  padding-left: 0 !important;
  border-left: 0;
}

.portfolio-item__competence-link:last-child {
  border: 0;
  padding-right: 0;
  margin-right: 0;
}

.portfolio-item__type-link,
.portfolio-item__competence-link {
  color: unset !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  display: inline-block;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

@media screen and (min-width: 1100px) {
  .portfolio-item__type, .portfolio-item__competence {
    display: inline !important;
  }
  .portfolio-item__type {
    padding-bottom: 0;
    border: 0;
  }
  .portfolio-item__competence {
    margin: 0;
  }
  .portfolio-item__address {
    border-top: 1px solid white;
    margin-top: 0.3em !important;
    padding-top: 20px !important;
  }
  .portfolio-item__competence-link,
  .portfolio-item__type-link {
    padding-right: 20px;
    width: auto;
    margin-right: 20px;
    border-right: 1px solid white;
  }
}
@media screen and (max-width: 639px) {
  .portfolio-item__address {
    margin-top: 16px !important;
  }
}
@media screen and (max-width: 1099px) {
  .portfolio-item__competence-link, .portfolio-item__type-link {
    margin: 0;
    display: inline;
  }
  .portfolio-item__competence-link::after, .portfolio-item__type-link::after {
    content: ", ";
    display: inline;
  }
  .portfolio-item__competence-link:last-child::after {
    content: "";
  }
  .portfolio-item__competence-link, .portfolio-item__type-link {
    font-size: 1.6rem;
  }
  .portfolio-item__competence-link, .portfolio-item__type-link {
    display: inline;
  }
  .portfolio-item__type, .portfolio-item__competence {
    display: inline;
    border: 0;
  }
  .portfolio-item__address {
    border-top: 1px solid white;
    padding-top: 15px !important;
  }
}
.wp-block-embed iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.wp-block-columns {
  gap: 30px;
  max-width: unset !important;
}

.wp-block-video.rounded video {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
  border-radius: 100%;
}

@media screen and (min-width: 782px) and (max-width: 1200px) {
  .wp-container-core-columns-is-layout-4[class] {
    flex-wrap: wrap !important;
    gap: 30px !important;
  }
  .wp-container-core-columns-is-layout-4[class] .wp-block-column[class] {
    flex-basis: calc(50% - 15px) !important;
  }
}
.list .list-item a {
  -webkit-text-decoration: underline 1px dotted var(--color-orange);
          text-decoration: underline 1px dotted var(--color-orange);
}
.list .list-item a:hover, .list .list-item a:focus {
  color: var(--color-orange);
  -webkit-text-decoration: underline 1px solid var(--color-orange);
          text-decoration: underline 1px solid var(--color-orange);
}

.contact-form .contact-form-short .wpcf7-email, .contact-form .contact-form-short .wpcf7-text, .contact-form .contact-form-short .wpcf7-textarea,
.wpcf7 .wpcf7-email,
.wpcf7 .wpcf7-text,
.wpcf7 .wpcf7-textarea {
  -webkit-appearance: none;
          appearance: none;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: inset 0 0 0 2px var(--color-orange);
  color: var(--color-navy);
  display: flex;
  font-family: Kanit, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  height: 6.4rem;
  line-height: 1;
  margin: 0;
  overflow: visible;
  padding: 0 2.4rem;
  transition: all 0.35s ease;
  width: 100%;
}
.contact-form .contact-form-short .wpcf7-email:focus:-ms-input-placeholder, .contact-form .contact-form-short .wpcf7-text:focus:-ms-input-placeholder, .contact-form .contact-form-short .wpcf7-textarea:focus:-ms-input-placeholder, .wpcf7 .wpcf7-email:focus:-ms-input-placeholder, .wpcf7 .wpcf7-text:focus:-ms-input-placeholder, .wpcf7 .wpcf7-textarea:focus:-ms-input-placeholder {
  color: #aaa;
}
.contact-form .contact-form-short .wpcf7-email:focus::placeholder, .contact-form .contact-form-short .wpcf7-text:focus::placeholder, .contact-form .contact-form-short .wpcf7-textarea:focus::placeholder,
.wpcf7 .wpcf7-email:focus::placeholder,
.wpcf7 .wpcf7-text:focus::placeholder,
.wpcf7 .wpcf7-textarea:focus::placeholder {
  color: #aaa;
}
.contact-form .contact-form-short .wpcf7-textarea,
.wpcf7 .wpcf7-textarea {
  height: 20rem;
  min-height: 20rem;
  max-height: 100vh;
  padding: 2.4rem;
}
.contact-form .contact-form-short .wpcf7-submit,
.wpcf7 .wpcf7-submit {
  background: #224493;
  color: white;
  display: flex;
  font-family: Kanit, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  height: 6.4rem;
  line-height: 1;
  margin: 0;
  padding: 0 2.4rem;
  transition: all 0.35s ease;
  width: 100%;
  text-align: right;
  border: 0 solid #224493;
  border-right-width: 5px;
}
.contact-form .contact-form-short .wpcf7-submit:hover, .contact-form .contact-form-short .wpcf7-submit:focus,
.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-submit:focus {
  background: white;
  color: #224493;
}
.contact-form .contact-form-short .wpcf7-acceptance,
.wpcf7 .wpcf7-acceptance {
  position: relative;
  display: block;
}
.contact-form .contact-form-short .wpcf7-acceptance .wpcf7-list-item,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 2.5em;
}
.contact-form .contact-form-short .wpcf7-acceptance .wpcf7-list-item input,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item input {
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(0.4em);
  display: block;
  width: 1.5em;
  height: 1.5em;
}
.contact-form .contact-form-short .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label {
  font-size: 80%;
  line-height: 1.25;
  display: block;
  color: white !important;
}
.contact-form .contact-form-short .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a {
  text-decoration: underline;
  text-decoration-style: dashed;
}
.contact-form .contact-form-short .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a:hover, .contact-form .contact-form-short .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a:focus,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a:hover,
.wpcf7 .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label a:focus {
  text-decoration: none;
}
.contact-form .contact-form-short .wpcf7-acceptance p,
.wpcf7 .wpcf7-acceptance p {
  margin: 30px 0;
}
.contact-form .contact-form-short .wpcf7-acceptance + .wpcf7-not-valid-tip,
.wpcf7 .wpcf7-acceptance + .wpcf7-not-valid-tip {
  position: static !important;
  font-size: 0.9em !important;
}
.contact-form .contact-form-short .wpcf7-form .wpcf7-form-control-wrap,
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
  display: block;
}
.contact-form .contact-form-short .wpcf7-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip,
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  font-size: 0.7em;
  display: block !important;
  position: absolute;
  left: 2.4rem;
  bottom: 0.3em;
  min-width: 100% !important;
  padding: 0;
  white-space: normal;
  max-height: unset !important;
  max-width: unset !important;
  overflow-wrap: unset !important;
  word-break: unset !important;
  font-weight: 300;
}
.contact-form .contact-form-short .wpcf7-form .wpcf7-response-output,
.wpcf7 .wpcf7-form .wpcf7-response-output {
  margin: 0 !important;
  display: none;
  border: 1px solid transparent;
  background: white;
  font-size: 1.6rem;
  font-weight: 400;
  min-height: 6.4rem;
  box-sizing: border-box;
  line-height: 1;
  margin: 0;
  padding: 2.4rem;
  transition: all 0.35s ease;
}
.contact-form .contact-form-short .wpcf7-form.invalid .wpcf7-response-output,
.wpcf7 .wpcf7-form.invalid .wpcf7-response-output {
  display: block;
  color: red;
  border-color: red;
}
.contact-form .contact-form-short .wpcf7-form.sent .wpcf7-response-output,
.wpcf7 .wpcf7-form.sent .wpcf7-response-output {
  display: block;
  color: green;
  border-color: green;
}

.text-white {
  color: white !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.text-transform-none {
  text-transform: none !important;
}

.mt-n05 {
  margin-top: -0.5em !important;
}

#contact .page-header__content {
  order: 2 !important;
}
#contact .page-header__content-form {
  order: 1 !important;
}

@media (max-width: 1279px) {
  #contact .page-header__content {
    order: 1 !important;
  }
  #contact .page-header__content-form {
    order: 2 !important;
  }
}
.elevato-job-offers__inner-container.elevato-inner-container.elevato-is-root-container {
  grid-template-columns: unset !important;
}

.elevato-job-offers__content {
  grid-column: unset !important;
  padding: unset !important;
}
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./.customize/dev.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUNBO0FBckJSO0FBc0JROztFQUNJO0FBbkJaO0FBb0JZOztFQUNJO0VBQWtCO0VBQU87RUFDekI7RUFDQTtFQUNBO0VBQVk7QUFkNUI7QUFnQlk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFiaEI7QUFjZ0I7O0VBQ0k7RUFDQTtBQVhwQjtBQVlvQjs7O0VBQ0k7QUFSeEI7QUFhUTs7RUFDSTtBQVZaO0FBWVE7O0VBQ0k7RUFDQTtBQVRaO0FBYVE7O0VBQ0k7QUFWWjtBQVdZOztFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBUmhCO0FBV1E7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBUlo7QUFXWTs7RUFDSTtFQUNBO0VBQ0E7QUFSaEI7QUFZWTs7RUFDSTtFQUNBO0VBQ0E7QUFUaEI7O0FBZUE7RUFDSTtBQVpKOztBQWNBO0VBQ0k7QUFYSjs7QUFhQTtFQUNJO0FBVko7O0FBWUE7RUFDSTtBQVRKOztBQVdBO0VBQ0k7QUFSSjs7QUFZSTtFQUNJO0FBVFI7QUFXSTtFQUNJO0FBVFI7O0FBYUE7RUFFUTtJQUNJO0VBWFY7RUFhTTtJQUNJO0VBWFY7QUFDRjtBQWVBO0VBQ0k7QUFiSjs7QUFnQkE7RUFDSTtFQUNBO0FBYkosQyIsInNvdXJjZXMiOlsid2VicGFjazovL3BtLy4vLmN1c3RvbWl6ZS90aGVtZS5zY3NzIiwid2VicGFjazovL3BtLy4vYXNzZXRzL3N0eWxlcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4uL2Fzc2V0cy9zdHlsZXMvbWl4aW5zL2JyZWFrcG9pbnRzXCI7XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XHJcbiAgICAuc2l0ZS1oZWFkZXJfX2JveC1saW5rLCAucHJvY2Vzc19fYm90dG9tLXNlY29uZGFyeSAuYnV0dG9uIHtcclxuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcclxuICAgIH1cclxufVxyXG4uY29udGFjdC1mb3JtIC5mb3JtIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgQGluY2x1ZGUgYmVsb3coc20pIHtcclxuICAgICAgICBnYXA6IDIuNHJlbSAwIDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGFib3ZlKHNtKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwxZnIpO1xyXG4gICAgfVxyXG59XHJcbiNjb250YWN0X2NvbnNlbnQge1xyXG4gICAgd2lkdGg6IDIuOHJlbTtcclxuICAgIGhlaWdodDogMi44cmVtO1xyXG59XHJcbi5wYWdlLWhlYWRlcl9fY29udGVudC1mb3JtIHtcclxuICAgIHBhZGRpbmc6IHZhcigtLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuICAgIC8vaW5wdXRbdHlwZT1cInRleHRcIl0sdGV4dGFyZWEge1xyXG4gICAgLy8gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgLy8gICAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjUpO1xyXG4gICAgLy8gICAgfVxyXG4gICAgLy8gICAgJiB7XHJcbiAgICAvLyAgICAgICAgY29sb3I6d2hpdGUgIWltcG9ydGFudDtcclxuICAgIC8vICAgIH1cclxuICAgIC8vICAgIGJhY2tncm91bmQ6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLy99XHJcbiAgICBAaW5jbHVkZSBiZWxvdyhzbSkge1xyXG4gICAgICAgIC5mb3JtLWl0ZW0tLWVtYWlsLFxyXG4gICAgICAgIC5mb3JtLWl0ZW0tLXBob25lLFxyXG4gICAgICAgIC5mb3JtLWl0ZW0tLWNvbnNlbnQsXHJcbiAgICAgICAgLmZvcm0taXRlbS0tc3VibWl0IHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLmxhYmVsLmZvci1jaGVja2JveCB7XHJcbiAgICAgICAgY29sb3I6d2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXRvcDowLjJlbTtcclxuICAgIH1cclxuICAgIC5mb3JtLWl0ZW0tLW1lc3NhZ2Uge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAxLzM7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1pdGVtLS1jb25zZW50IHtcclxuICAgICAgICBAaW5jbHVkZSBhYm92ZShzbSkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtYXJnaW4tdG9wOiAzLjJyZW07XHJcbiAgICAgICAgLmlucHV0LXdyYXBwZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIuOHJlbTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMi44cmVtO1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAmKy5pbnB1dC1jaGVja2JveC1hcHBlYXJhbmNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOm5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0taXRlbS0tc3VibWl0IHtcclxuICAgICAgICBAaW5jbHVkZSBhYm92ZShzbSkge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JtLWl0ZW0tLXN1Ym1pdCB7XHJcblxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlLCY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5hdnkpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuLnNpdGUtZm9vdGVyIHtcclxuICAgIC0tc3BhY2U6IGNhbGModmFyKC0tY29udGVudC1wYWRkaW5nKSAqIDAuNSk7XHJcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZSk7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIC8vd2lkdGg6dmFyKC0tc3BhY2UpO1xyXG4gICAgICAgIGhlaWdodDp2YXIoLS1zcGFjZSk7XHJcbiAgICB9XHJcbiAgICAmLWNvbnRlbnRfX3NvY2lhbC1saW5rcyB7XHJcbiAgICAgICAgZGlzcGxheTpmbGV4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAuNXJlbTtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIC5pbm5lci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDp1bnNldDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6dW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgaGVpZ2h0OnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6dW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDoyLjByZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uY2VvIHtcclxuICAgICZfX2Rlc2Mge1xyXG4gICAgICAgICYtcGVyc29uIHtcclxuICAgICAgICAgICAgJi1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoIC0xICogdmFyKC0tc2l0ZS1wYWRkaW5nKSApO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJvdmUobGcpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCAtMSAqICggdmFyKC0tc2l0ZS1wYWRkaW5nKSArIDIydncgKSApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmV0d2VlbihsZywgeGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCAtMSAqICggdmFyKC0tc2l0ZS1wYWRkaW5nKSArIDQ1dncgKSApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5jb250YWN0IHtcclxuICAgICZfX2JvdHRvbSB7XHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tY29udGVudC1wYWRkaW5nKSAqIDAuNSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWNvbnRlbnQtcGFkZGluZykpIHZhcigtLWNvbnRlbnQtcGFkZGluZykgdmFyKC0tY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWNvbnRlbnQtcGFkZGluZykpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4udGVzdGltb25pYWxzX19jb21wYW55IHtcclxuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlKTtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAyLjhyZW0gO1xyXG4gICAgQGluY2x1ZGUgYWJvdmUobGcpIHtcclxuICAgICAgICBwYWRkaW5nOiA0LjhyZW07XHJcbiAgICB9XHJcbiAgICAmLW5hbWUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4jaGVybyB7XHJcbiAgICAvL0BpbmNsdWRlIGFib3ZlKHhsKSB7XHJcbiAgICAvLyAgICBoZWlnaHQ6IGNsYW1wKDEwMHJlbSwgODV2aCwgMTQ1cmVtKTtcclxuICAgIC8vfVxyXG4gICAgQGluY2x1ZGUgYWJvdmUoMTkyMCkge1xyXG4gICAgICAgIGhlaWdodDogY2xhbXAoMTAwcmVtLCA5NXZoLCAxNDVyZW0pICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLmhlcm9fX2NvbnRlbnQtaW1hZ2Uge1xyXG4gICAgQGluY2x1ZGUgYWJvdmUobGcpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAvL2hlaWdodDogNzUlO1xyXG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wZXJzb24taW1hZ2Utc21hbGwge1xyXG4gICAgb2JqZWN0LXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG4gICAgd2lkdGg6Ni40cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbToxZW07XHJcbiAgICAvL3RvcDogMi44cmVtO1xyXG4gICAgLy9yaWdodDogMi44cmVtO1xyXG4gICAgQGluY2x1ZGUgYWJvdmUobGcpIHtcclxuICAgICAgICB3aWR0aDoxMHJlbTtcclxuICAgICAgICAvL3RvcDogNC44cmVtO1xyXG4gICAgICAgIC8vcmlnaHQ6IDQuOHJlbTtcclxuICAgIH1cclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgLy9wb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxufVxyXG4ubXQtMCB7XHJcbiAgICBtYXJnaW4tdG9wOjAgIWltcG9ydGFudDtcclxufVxyXG4ubWItMDUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTowLjVlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucCB7XHJcbiAgICAmLTUge1xyXG4gICAgICAgIHBhZGRpbmc6NWVtO1xyXG4gICAgfVxyXG4gICAgJi00IHtcclxuICAgICAgICBwYWRkaW5nOjRlbTtcclxuICAgIH1cclxuICAgICYtMyB7XHJcbiAgICAgICAgcGFkZGluZzozZW07XHJcbiAgICB9XHJcbiAgICAmLTIge1xyXG4gICAgICAgIHBhZGRpbmc6MmVtO1xyXG4gICAgfVxyXG4gICAgJi0xIHtcclxuICAgICAgICBwYWRkaW5nOjFlbTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJngge1xyXG4gICAgICAgICYtNSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDo1ZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6NWVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLTQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6NGVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjRlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0zIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjNlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDozZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtMiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLTEge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MWVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjFlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICZ5IHtcclxuICAgICAgICAmLTUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDo1ZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjVlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi00IHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6NGVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTo0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtMyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOjNlbTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206M2VtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLTIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDoyZW07XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0xIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6MWVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbToxZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubSB7XHJcbiAgICAmeCB7XHJcbiAgICAgICAgJi1hdXRvIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6YXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6YXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5tYXgge1xyXG4gICAgJi13IHtcclxuICAgICAgICAmLTUge1xyXG4gICAgICAgICAgICB3aWR0aDo1ZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi00IHtcclxuICAgICAgICAgICAgd2lkdGg6NGVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtMyB7XHJcbiAgICAgICAgICAgIHdpZHRoOjNlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLTIge1xyXG4gICAgICAgICAgICB3aWR0aDoyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0xIHtcclxuICAgICAgICAgICAgd2lkdGg6MWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1oIHtcclxuICAgICAgICAmLTUge1xyXG4gICAgICAgICAgICB3aWR0aDo1ZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi00IHtcclxuICAgICAgICAgICAgd2lkdGg6NGVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtMyB7XHJcbiAgICAgICAgICAgIHdpZHRoOjNlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLTIge1xyXG4gICAgICAgICAgICB3aWR0aDoyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi0xIHtcclxuICAgICAgICAgICAgd2lkdGg6MWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ub2JqZWN0LWZpdC1jb250YWluIHtcclxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW4gIWltcG9ydGFudDtcclxufVxyXG5ib2R5LnBhZ2Uge1xyXG4gICAgLmhpZGRlbi1mcm9udCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4uYmxvY2stZWRpdG9yIHtcclxuICAgIC5oaWRkZW4tZnJvbnQsIC5pcy10ZW1wb3JhcnktaGlkZGVuIHtcclxuICAgICAgICBvcGFjaXR5OjAuMTUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4jcHJvY2VzcyB7XHJcbiAgICAucHJvY2Vzc19faW1hZ2Uge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBhYm92ZShsZykge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDcwcHg7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1pbigxMTAwcHgsIDEwMHZoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yb3cge1xyXG4gICAgLS1nYXA6IDJ2dztcclxuICAgIGRpc3BsYXk6ZmxleDtmbGV4LXdyYXA6IHdyYXA7ZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogdmFyKC0tZ2FwKTtcclxufVxyXG4uY29sLTEyIHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbn1cclxuLmNvbC02IHtcclxuICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XHJcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggKCgxMDAlIC0gMXB4KS8xMikgKiA2IC0gdmFyKC0tZ2FwKS8yKTtcclxuICAgIH1cclxufVxyXG4uY29sLWxnLTYge1xyXG4gICAgQGluY2x1ZGUgYWJvdmUobGcpIHtcclxuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAoKDEwMCUgLSAxcHgpLzEyKSAqIDYgLSB2YXIoLS1nYXApLzIpO1xyXG4gICAgfVxyXG59XHJcbi53LWxnLTYge1xyXG4gICAgQGluY2x1ZGUgYWJvdmUobGcpIHtcclxuICAgICAgICB3aWR0aDogY2FsYyggKDEwMCUvMTIpICogNiAtIHZhcigtLWdhcCkvMikgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4udy1tZC04IHtcclxuICAgIEBpbmNsdWRlIGFib3ZlKG1kKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoICgxMDAlLzEyKSAqIDggLSB2YXIoLS1nYXApLzIpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLmNvbC00IHtcclxuICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoICgoMTAwJSAtIDFweCkvMTIpICogNCAtIHZhcigtLWdhcCkvMiApO1xyXG4gICAgfVxyXG59XHJcbi5jb2wtOCB7XHJcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcclxuICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAoKDEwMCUgLSAxcHgpLzEyKSAqIDggLSB2YXIoLS1nYXApLzIgKTtcclxuICAgIH1cclxufVxyXG4uY29sLTMge1xyXG4gICAgZmxleC1iYXNpczogY2FsYyggKCgxMDAlIC0gMXB4KS8xMikgKiAzIC0gdmFyKC0tZ2FwKS8yICk7XHJcbn1cclxuLmNvbC05IHtcclxuICAgIGZsZXgtYmFzaXM6IGNhbGMoICgoMTAwJSAtIDFweCkvMTIpICogOSAtIHZhcigtLWdhcCkvMiApO1xyXG59XHJcbi5jb2wtbWQtMyB7XHJcbiAgICBAaW5jbHVkZSBhYm92ZShtZCkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoICgoMTAwJSAtIDFweCkvMTIpICogMyAtIHZhcigtLWdhcCkvMiApO1xyXG4gICAgfVxyXG59XHJcbi5jb2wtbWQtOSB7XHJcbiAgICBAaW5jbHVkZSBhYm92ZShtZCkge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoICgoMTAwJSAtIDFweCkvMTIpICogOSAtIHZhcigtLWdhcCkvMiApO1xyXG4gICAgfVxyXG59XHJcbi5jb2wtbGctMyB7XHJcbiAgICBAaW5jbHVkZSBhYm92ZShsZykge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoICgoMTAwJSAtIDFweCkvMTIpICogMyAtIHZhcigtLWdhcCkvMiApO1xyXG4gICAgfVxyXG59XHJcbi5jb2wtbGctOSB7XHJcbiAgICBAaW5jbHVkZSBhYm92ZShsZykge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoICgoMTAwJSAtIDFweCkvMTIpICogOSAtIHZhcigtLWdhcCkvMiApO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubXQtMCB7XHJcbiAgICBtYXJnaW4tdG9wOjAgIWltcG9ydGFudDtcclxufVxyXG4ubWItMDUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTowLjVlbSAhaW1wb3J0YW50O1xyXG59XHJcbi5teC0wLC5teC0wIHtcclxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5teC0wLC5teC0wIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLm10LTAsLm15LTAge1xyXG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5tYi0wLC5teS0wIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG4ubXQtNSwubXktNSB7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcbi5tYi01LC5teS01IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuLm1zLTUsLm14LTUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbn1cclxuLm1lLTUsLm14LTUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG59XHJcbi5tdC0zLC5teS0zIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuLm1iLTMsLm15LTMge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG4ubXMtMywubXgtMyB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxufVxyXG4ubWUtMywubXgtMyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcclxuXHJcbiAgICAubXQtNSwubXktNSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXZ3O1xyXG4gICAgfVxyXG4gICAgLm1iLTUsLm15LTUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDV2dztcclxuICAgIH1cclxuICAgIC5tcy01LC5teC01IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNXZ3O1xyXG4gICAgfVxyXG4gICAgLm1lLTUsLm14LTUge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXZ3O1xyXG4gICAgfVxyXG4gICAgLm10LTMsLm15LTMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDN2dztcclxuICAgIH1cclxuICAgIC5tYi0zLC5teS0zIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzdnc7XHJcbiAgICB9XHJcbiAgICAubXMtMywubXgtMyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDN2dztcclxuICAgIH1cclxuICAgIC5tZS0zLC5teC0zIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDN2dztcclxuICAgIH1cclxufVxyXG5cclxuLm10LTEge1xyXG4gICAgbWFyZ2luLXRvcDogMC41ZW0gIWltcG9ydGFudDtcclxufVxyXG4ubWItMSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaDEge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMy4ycmVtLDMuMnJlbSArIDE4ICogKCgxMDB2dyAtIDM3NXB4KS8xNTQ1KSw1cmVtKTtcclxufVxyXG5cclxuLnRleHQtdHJhbnNmb3JtLW5vbmUge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmhpZGRlbiB7XHJcbiAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uc2l0ZS1mb290ZXItY29udGVudF9fc29jaWFsLWxpbmtzIHtcclxuICAgIC5zaXRlLWZvb3Rlci1jb250ZW50X19zb2NpYWwtbGluay5pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6MjVweCAhaW1wb3J0YW50O2hlaWdodDoyNXB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTpmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6ZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBiZWxvdyhsZykge1xyXG4gICAgLnNpdGUtZm9vdGVyLWNvbnRlbnRfX3NvY2lhbC1saW5rcyB7XHJcbiAgICAgICAgLnNpdGUtZm9vdGVyLWNvbnRlbnRfX3NvY2lhbC1saW5rLmltYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6NDhweCAhaW1wb3J0YW50O2hlaWdodDo0OHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi53cC1ibG9jay1odG1sIHtcclxuICAgIHdpZHRoOjEwMCU7XHJcbn1cclxuXHJcbi5zaXRlLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XHJcbiAgICAubWVudSB7XHJcbiAgICAgICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICYubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAmPmEubWVudS1pdGVtLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsJjpmb2N1cyB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zdWJtZW51LXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MnJlbTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6MnJlbTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmZsZXg7YWxpZ24tY29udGVudDogY2VudGVyO2p1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOndoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJiArIC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIsJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgJj4uc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJtZW51IHtcclxuICAgICAgICAgICAgLm1lbnUtaXRlbS1saW5rIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OjMwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJvdmUobGcpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wb3J0Zm9saW8taXRlbV9fdHlwZS1saW5rOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1sZWZ0OjAgIWltcG9ydGFudDtwYWRkaW5nLWxlZnQ6MCAhaW1wb3J0YW50O2JvcmRlci1sZWZ0OjA7XHJcbn1cclxuLnBvcnRmb2xpby1pdGVtX19jb21wZXRlbmNlLWxpbms6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXI6MDtwYWRkaW5nLXJpZ2h0OjA7bWFyZ2luLXJpZ2h0OjA7XHJcbn1cclxuLnBvcnRmb2xpby1pdGVtX190eXBlLWxpbmssXHJcbi5wb3J0Zm9saW8taXRlbV9fY29tcGV0ZW5jZS1saW5rIHtcclxuICAgIGNvbG9yOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi10b3A6IC41ZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcclxuICAgIC5wb3J0Zm9saW8taXRlbV9fdHlwZSwucG9ydGZvbGlvLWl0ZW1fX2NvbXBldGVuY2Uge1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAucG9ydGZvbGlvLWl0ZW1fX3R5cGUge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOjA7Ym9yZGVyOjA7XHJcbiAgICB9XHJcbiAgICAucG9ydGZvbGlvLWl0ZW1fX2NvbXBldGVuY2Uge1xyXG4gICAgICAgIG1hcmdpbjowO1xyXG4gICAgfVxyXG4gICAgLnBvcnRmb2xpby1pdGVtX19hZGRyZXNzIHtcclxuICAgICAgICBib3JkZXItdG9wOjFweCBzb2xpZCB3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAuM2VtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6MjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnBvcnRmb2xpby1pdGVtX19jb21wZXRlbmNlLWxpbmssXHJcbiAgICAucG9ydGZvbGlvLWl0ZW1fX3R5cGUtbGluayxcclxuICAgIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OjIwcHg7XHJcbiAgICAgICAgd2lkdGg6YXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6MjBweDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB3aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcclxuICAgIC5wb3J0Zm9saW8taXRlbV9fYWRkcmVzc3tcclxuICAgICAgICBtYXJnaW4tdG9wOjE2cHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDk5cHgpIHtcclxuXHJcbiAgICAucG9ydGZvbGlvLWl0ZW1fX2NvbXBldGVuY2UtbGluaywgLnBvcnRmb2xpby1pdGVtX190eXBlLWxpbmsge1xyXG4gICAgICAgIG1hcmdpbjowO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6JywgJztkaXNwbGF5OmlubGluZTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBvcnRmb2xpby1pdGVtX19jb21wZXRlbmNlLWxpbms6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wb3J0Zm9saW8taXRlbV9fY29tcGV0ZW5jZS1saW5rLC5wb3J0Zm9saW8taXRlbV9fdHlwZS1saW5rICB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICB9XHJcbiAgICAucG9ydGZvbGlvLWl0ZW1fX2NvbXBldGVuY2UtbGluaywucG9ydGZvbGlvLWl0ZW1fX3R5cGUtbGluayAge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIH1cclxuICAgIC5wb3J0Zm9saW8taXRlbV9fdHlwZSwgLnBvcnRmb2xpby1pdGVtX19jb21wZXRlbmNlIHtcclxuICAgICAgICBkaXNwbGF5OmlubGluZTtib3JkZXI6MDtcclxuICAgIH1cclxuICAgIC5wb3J0Zm9saW8taXRlbV9fYWRkcmVzcyB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6MTVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ud3AtYmxvY2stZW1iZWQge1xyXG4gICAgaWZyYW1lIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53cC1ibG9jay1jb2x1bW5zIHtcclxuICAgIGdhcDogMzBweDtcclxuICAgIG1heC13aWR0aDp1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud3AtYmxvY2stdmlkZW8ge1xyXG4gICAgJi5yb3VuZGVkIHtcclxuICAgICAgICB2aWRlbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6YXV0bztcclxuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3ODJweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCl7XHJcbiAgICAud3AtY29udGFpbmVyLWNvcmUtY29sdW1ucy1pcy1sYXlvdXQtNFtjbGFzc10ge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGdhcDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC53cC1ibG9jay1jb2x1bW5bY2xhc3NdIHtcclxuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAxNXB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ubGlzdCB7XHJcblxyXG4gICAgLmxpc3QtaXRlbSB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIDFweCBkb3R0ZWQgdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuICAgICAgICAgICAgJjpob3ZlciwmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgMXB4IHNvbGlkIHZhcigtLWNvbG9yLW9yYW5nZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY29udGFjdC1mb3JtIC5jb250YWN0LWZvcm0tc2hvcnQsXHJcbi53cGNmN1xyXG57XHJcbiAgICAud3BjZjctZW1haWwsLndwY2Y3LXRleHQsLndwY2Y3LXRleHRhcmVhIHtcclxuICAgICAgICAvL3BhZGRpbmc6MWVtO1xyXG4gICAgICAgIC8vYmFja2dyb3VuZDp3aGl0ZTt3aWR0aDoxMDAlO1xyXG4gICAgICAgIC8vYm9yZGVyOjA7XHJcblxyXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggdmFyKC0tY29sb3Itb3JhbmdlKTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbmF2eSk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmb250LWZhbWlseTogS2FuaXQsc2Fucy1zZXJpZjtcclxuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGhlaWdodDogNi40cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDIuNHJlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjM1cyBlYXNlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjojYWFhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndwY2Y3LXRleHRhcmVhIHtcclxuICAgICAgICBoZWlnaHQ6MjByZW07XHJcbiAgICAgICAgbWluLWhlaWdodDoyMHJlbTtcclxuICAgICAgICBtYXgtaGVpZ2h0OjEwMHZoO1xyXG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbTtcclxuICAgIH1cclxuICAgIC53cGNmNy1zdWJtaXQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyMjQ0OTM7XHJcbiAgICAgICAgY29sb3I6d2hpdGU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmb250LWZhbWlseTogS2FuaXQsc2Fucy1zZXJpZjtcclxuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGhlaWdodDogNi40cmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDIuNHJlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjM1cyBlYXNlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgICAgYm9yZGVyOjAgc29saWQgIzIyNDQ5MztcclxuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDVweDtcclxuXHJcbiAgICAgICAgJjpob3ZlciwmOmZvY3VzIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDp3aGl0ZTtjb2xvcjogIzIyNDQ5MztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud3BjZjctYWNjZXB0YW5jZSB7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAud3BjZjctbGlzdC1pdGVtIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6Mi41ZW07XHJcbiAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSguNGVtKTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoxLjVlbTtoZWlnaHQ6MS41ZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ODAlO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MS4yNTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjp3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkYXNoZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYrLndwY2Y3LW5vdC12YWxpZC10aXAge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjpzdGF0aWMgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC53cGNmNy1mb3JtIHtcclxuICAgICAgICAud3BjZjctZm9ybS1jb250cm9sLXdyYXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICAud3BjZjctbm90LXZhbGlkLXRpcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC43ZW07XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMi40cmVtO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAuM2VtO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy13cmFwOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgd29yZC1icmVhazogdW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjowICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDp3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYuNHJlbTtcclxuICAgICAgICAgICAgYm94LXNpemluZzpib3JkZXItYm94O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyLjRyZW07XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMzVzIGVhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW52YWxpZCB7XHJcbiAgICAgICAgICAgIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOnJlZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VudCB7XHJcbiAgICAgICAgICAgIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIGNvbG9yOmdyZWVuO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBncmVlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRleHQtd2hpdGUge1xyXG4gICAgY29sb3I6d2hpdGUgIWltcG9ydGFudDtcclxufVxyXG4uZnctbGlnaHQge1xyXG4gICAgZm9udC13ZWlnaHQ6MzAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmZ3LW5vcm1hbCB7XHJcbiAgICBmb250LXdlaWdodDo0MDAgIWltcG9ydGFudDtcclxufVxyXG4udGV4dC10cmFuc2Zvcm0tbm9uZSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi5tdC1uMDUge1xyXG4gICAgbWFyZ2luLXRvcDogLTAuNWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNjb250YWN0IHtcclxuICAgIC5wYWdlLWhlYWRlcl9fY29udGVudCB7XHJcbiAgICAgICAgb3JkZXI6IDIgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5wYWdlLWhlYWRlcl9fY29udGVudC1mb3JtIHtcclxuICAgICAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XHJcbiAgICAjY29udGFjdCB7XHJcbiAgICAgICAgLnBhZ2UtaGVhZGVyX19jb250ZW50IHtcclxuICAgICAgICAgICAgb3JkZXI6IDEgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhZ2UtaGVhZGVyX19jb250ZW50LWZvcm0ge1xyXG4gICAgICAgICAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVsZXZhdG8tam9iLW9mZmVyc19faW5uZXItY29udGFpbmVyLmVsZXZhdG8taW5uZXItY29udGFpbmVyLmVsZXZhdG8taXMtcm9vdC1jb250YWluZXIge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZWxldmF0by1qb2Itb2ZmZXJzX19jb250ZW50IHtcclxuICAgIGdyaWQtY29sdW1uOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogdW5zZXQgIWltcG9ydGFudDtcclxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xuLy8gTWVkaWEgUXVlcmllcyBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXG5AbWl4aW4gYWJvdmUoJGJyZWFrcG9pbnQpIHtcblx0QGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcblx0XHQkYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXZhbHVlKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEB3YXJuICdJbnZhbGlkIGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9Lic7XG5cdH1cbn1cblxuQG1peGluIGJlbG93KCRicmVha3BvaW50KSB7XG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG5cdFx0JGJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAoJGJyZWFrcG9pbnQtdmFsdWUgLSAwLjAxKSkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAd2FybiAnSW52YWxpZCBicmVha3BvaW50OiAjeyRicmVha3BvaW50fS4nO1xuXHR9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRicmVha3BvaW50X21pbiwgJGJyZWFrcG9pbnRfbWF4KSB7XG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50X21pbikgYW5kIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnRfbWF4KSB7XG5cdFx0JGJyZWFrcG9pbnQtdmFsdWUtbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnRfbWluKTtcblx0XHQkYnJlYWtwb2ludC12YWx1ZS1tYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludF9tYXgpO1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogKCRicmVha3BvaW50LXZhbHVlLW1pbiAtIDAuMDEpKSBhbmQgKG1heC13aWR0aDogKCRicmVha3BvaW50LXZhbHVlLW1heCAtIDAuMDEpKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdEB3YXJuICdJbnZhbGlkIGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnRfbWlufS4nO1xuXHR9XG59XG5cbi8vIE9wdGlvbnNcbiRicmVha3BvaW50czogKFxuXHR4czogNDgwcHgsXG5cdHNtOiA2NDBweCxcblx0bWQ6IDk2MHB4LFxuXHRsZzogMTI4MHB4LFxuXHR4bDogMTQ0MHB4LFxuXHQxNjAwOiAxNjAwcHgsXG5cdDE3NjA6IDE3NjBweCxcblx0MTkyMDogMTkyMHB4LFxuKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/