   /**
 * @param $breakpoint e.g. xlarge
 * @param $headerSize e.g. h2
 */
@media only screen and (min-width: 48em) {
  /**
   * @param $breakpoint e.g. xlarge
   * @param $headerSize e.g. h2
   */
  legend:not([class]), .legend {
    font-size: 3rem;
    line-height: 1.333;
    margin-top: 1.2rem;
    margin-bottom: 2rem;
  }
  .c-3-fakten-box .c-3-fakten-box-image {
    position: absolute;
    margin-bottom: 2rem;
    top: 0;
    width: 100vw;
    height: -moz-fit-content;
    height: fit-content;
    left: 50%;
    transform: translate(-50%);
    overflow: hidden;
    z-index: -1;
    text-align: center;
    display: unset;
  }
  .c-3-fakten-box .c-3-fakten-box-image > picture, .c-3-fakten-box .c-3-fakten-box-image img {
    position: relative;
    width: 100vw;
  }
  .c-3-fakten-box .c-3-fakten-box-wrapper {
    -webkit-padding-before: 3.1rem;
            padding-block-start: 3.1rem;
  }
  .c-3-fakten-box .c-3-fakten-box-wrapper .c-3-fakten-box-item:first-of-type {
    padding-left: 0;
  }
  .c-3-fakten-box .c-3-fakten-box-wrapper .c-3-fakten-box-item:last-of-type {
    padding-right: 0;
  }
  .c-3-fakten-box .c-3-fakten-box-wrapper .c-3-fakten-box-item > div:first-of-type > .c-3-fakten-field-content {
    line-height: 2.4rem;
  }
  #main .c-50-gruende .c-zielgruppe__type::before {
    left: 5.1rem;
    transform: translate(-50%, -50%);
  }
  .c-50-gruende .c-zielgruppe.active-control {
    position: relative;
  }
  .c-50-gruende .c-zielgruppe.active-control .c-zielgruppe__type {
    font-weight: bold;
  }
  .c-50-gruende .c-zielgruppe.active-control:after {
    content: "";
    position: absolute;
    right: -1px;
    width: 0;
    height: 0;
    border: 2rem solid transparent;
    border-right-color: var(--background-color);
  }
  .c-50-gruende__zielgruppen {
    padding: 4.5rem 0;
  }
  .c-50-gruende__gruende {
    --background-color: #FFFFFF;
  }
  .c-50-gruende__beschreibung {
    --background-color: unset;
    padding: 3.5rem 3.5rem 5rem 2.5rem;
  }
  .c-50-gruende .c-grund__headline, .c-50-gruende .c-grund__text {
    font-size: 1.8rem;
  }
  .c-accordion {
    --font-size: 1.6rem;
  }
  .c-accordion-container:not(:last-of-type) {
    margin-bottom: 5rem;
  }
  .c-accordion-title button {
    padding: 1.5rem 3rem 1.5rem 1.5rem;
  }
  .c-accordion-title::after {
    left: 3.9rem;
  }
  .c-aktiv-bonus-beispiel .img-wrapper {
    z-index: -1;
    max-width: 90%;
  }
  .c-aktiv-bonus-beispiel .img-wrapper + .c-aktiv-bonus-beispiel__card {
    margin-top: -150px;
  }
  .c-aktiv-bonus-beispiel__card {
    min-width: unset;
    width: unset;
    margin-inline: 3rem 3rem;
    -webkit-margin-start: 50%;
            margin-inline-start: 50%;
    margin-bottom: 5rem;
  }
  .slide-wrapper:not(:has(.img-wrapper)) .c-aktiv-bonus-beispiel__card {
    margin-top: 0;
  }
  .c-aktiv-bonus-beispiel .c-slideshow-navigation__button {
    --inline-position: -5rem;
  }
  .c-aktiv-bonus-item__headline {
    --line-height: 1.6;
  }
  .c-servicesearch .c-autosuggest__description {
    --top-offset-description: 70px;
  }
  .c-stage .c-autosuggest__description {
    --top-offset-description: 70px;
  }
  .c-awards-v2-wrapper > .c-awards-v2-field {
    border-bottom: none;
    border-right: 1px solid var(--border-color);
  }
  .c-awards-v2-wrapper > .c-awards-v2-field.isLastInRow, .c-awards-v2-wrapper > .c-awards-v2-field:last-child {
    border-right: none;
  }
  .c-awards-v2-wrapper > .c-awards-v2-field > .c-awards-v2-image > img {
    width: 100%;
  }
  .c-awards__list {
    margin: 2.6rem 0 5.6rem;
  }
  .c-awards__list__item + .c-awards__item {
    margin-left: 1.3rem;
  }
  .c-box-list {
    padding: 5rem;
  }
  .c-box-list__item {
    display: flex;
    flex-flow: row nowrap;
    padding: 0 0 20px 0;
    gap: 20px;
  }
  .c-box-list__term {
    flex: 0 1 calc((100% - 20px) / 2);
  }
  .c-box-list__definition {
    flex: 0 1 calc((100% - 20px) / 2);
  }
  .c-breadcrumb.c-module--gap {
    --module-gap-top: 3rem;
    --module-gap-bottom: 7rem;
  }
  .c-card-slider .slick-list {
    width: calc(((100% + 2em) / 12 * 8) - 2em + 2em * 1);
  }
  .c-card-slider__slide {
    margin: 0 12px 12px;
    min-height: 213px;
  }
  .c-card-slider__title {
    margin: auto 20px 27px 15px;
  }
  .c-card-slider__svg svg {
    margin-top: 20px;
    margin-right: 15px;
    width: 70px;
  }
  .c-card {
    --icon-size: 4.5rem;
    --box-padding: 3.6rem 1.6rem 2.9rem 2.5rem;
    --box-margin: 3rem 0 7rem;
  }
  .c-card__headline, .c-card__text {
    margin-right: 0.7rem;
  }
  .c-card__icon {
    margin-right: 0;
  }
  .c-card__icon svg {
    max-width: 1rem;
    max-height: 2rem;
  }
  .c-checkliste .c-checkliste-wrapper {
    padding: 3.1rem 1.5rem 0 1.5rem;
  }
  .c-checkliste .c-checkliste-wrapper > .c-checkliste-item::before {
    transform: translateX(-3px);
  }
  .c-competence {
    --icon-size: 4.5rem;
    --box-padding: 3.7rem 2.7rem 3.3rem;
    --icon-margin-top: 2rem;
    --headline-size: 2rem;
    height: calc(100% - 2.5rem);
    margin-bottom: 2.5rem;
  }
  .c-competence__headline {
    min-height: 5.8rem;
  }
  .c-cta__wrapper {
    padding-top: 56px;
    padding-bottom: 83px;
    -webkit-clip-path: polygon(-100vw 0%, 100vw 0%, 100vw calc(100% - 16px), calc(100% - 162px) calc(100% - 16px), calc(100% - 162px) 100%, -100vw 100%);
            clip-path: polygon(-100vw 0%, 100vw 0%, 100vw calc(100% - 16px), calc(100% - 162px) calc(100% - 16px), calc(100% - 162px) 100%, -100vw 100%);
  }
  .c-cta__wrapper-icon {
    display: grid;
    justify-content: center;
    transform: translateY(20px);
  }
  .c-cta__wrapper-icon img,
  .c-cta__wrapper-icon svg {
    max-width: 68px;
    max-height: 73px;
  }
  .c-cta__wrapper-text {
    margin-bottom: 10px;
  }
  .c-cta__wrapper-text .c-headline {
    font-size: 3rem;
    margin-bottom: 10px;
  }
  .c-cta__wrapper-text p {
    font-size: 1.8rem;
  }
  .c-cta__wrapper-form .formField {
    display: flex;
    flex-flow: row nowrap;
    padding: 0;
  }
  .c-cta__wrapper-form input, .c-cta__wrapper-link input {
    flex: 1 0 0;
  }
  .c-cta__wrapper-form input.submit,
  .c-cta__wrapper-form button.submit, .c-cta__wrapper-link input.submit,
  .c-cta__wrapper-link button.submit {
    width: 307px;
  }
  .c-cta--rechner .c-cta__wrapper-icon {
    transform: translateY(22px);
  }
  .c-dialog-popup dialog {
    --dialog-width: 62.5rem;
    --close-button-size: 4rem;
    --dialog-margin-inline: auto;
    --dialog-padding: 4rem;
    --dialog-content-margin-top: 0;
  }
  .c-dialog-popup dialog .c-dialog-popup__dialoghandle .c-dialog-popup__close {
    position: absolute;
    box-sizing: border-box;
    top: calc(0% - var(--close-button-size) / 2 - var(--close-button-border-size));
    right: calc(0% - var(--close-button-size) / 2 - var(--close-button-border-size));
  }
  .c-footer {
    padding: 0 2.8em var(--base-module-gap-bottom);
  }
  .c-footer__social::after, .c-footer__siteinfo::after, .c-footer__awards::after {
    width: calc(100% - 24px);
    left: 12px;
  }
  .c-footer__siteinfo .c-footer__list {
    display: block;
    -moz-column-count: 2;
         column-count: 2;
  }
  .c-footer__siteinfo .c-footer__list .c-footer__item {
    display: block;
    position: relative;
    page-break-before: auto;
    page-break-after: auto;
    page-break-inside: avoid;
  }
  .c-footer__awards {
    padding-bottom: 15px;
    margin-top: 14px;
  }
  .c-footer__awards .c-footer__headline {
    margin-top: 10px;
  }
  .c-footer__headline {
    margin-top: 22px;
  }
  .c-footer__info .c-footer__list {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 19px;
  }
  .c-footer__info .c-footer__item {
    display: inline-block;
    margin-right: 0;
  }
  .c-footer__copyright p {
    text-align: center;
  }
  .c-footer__item strong, .c-footer__inneritem strong {
    font-size: 1.6rem;
  }
  h1.c-headline, .h1.c-headline,
  :where(.startseite) .c-article h2.c-headline, :where(.startseite) .c-article .h2.c-headline {
    --font-size: 4rem;
  }
  h1.c-headline .c-headline__inner, .h1.c-headline .c-headline__inner,
  :where(.startseite) .c-article h2.c-headline .c-headline__inner, :where(.startseite) .c-article .h2.c-headline .c-headline__inner {
    --box-shadow-spread-radius: 11px;
  }
  h1.c-headline.c-headline--breakout, .h1.c-headline.c-headline--breakout,
  :where(.startseite) .c-article h2.c-headline.c-headline--breakout, :where(.startseite) .c-article .h2.c-headline.c-headline--breakout {
    --padding-block-start: 4.2rem;
    --margin-block-end: 3rem;
    --margin-inline-start: 1.2rem;
    --text-indent: -1.5rem;
    -webkit-margin-start: var(--margin-inline-start);
            margin-inline-start: var(--margin-inline-start);
    text-indent: var(--text-indent);
  }
  .c-kundenservice {
    --top-item-headline-margin: 15.4rem;
  }
  .c-kundenservice__item .h3 {
    font-size: 2rem;
  }
  .c-link-list {
    margin-top: 1rem;
  }
  .c-membership {
    margin-bottom: 45px;
  }
  .c-membership__wrapper {
    padding-top: 56px;
    padding-bottom: 83px;
    -webkit-clip-path: polygon(-100vw 0%, 100vw 0%, 100vw calc(100% - 16px), calc(100% - 162px) calc(100% - 16px), calc(100% - 162px) 100%, -100vw 100%);
            clip-path: polygon(-100vw 0%, 100vw 0%, 100vw calc(100% - 16px), calc(100% - 162px) calc(100% - 16px), calc(100% - 162px) 100%, -100vw 100%);
  }
  .c-membership__wrapper-text {
    margin-bottom: 10px;
  }
  .c-membership__wrapper-text p {
    font-size: 1.8rem;
  }
  .c-membership__headline {
    margin-bottom: 10px;
  }
  .c-membership__wrapper-form .formField {
    display: flex;
    flex-flow: row nowrap;
    padding: 0;
  }
  .c-membership__wrapper-form input {
    margin: 18px 45px 14px 35px;
    flex: 1 0 0;
  }
  .c-membership__wrapper-form input.submit,
  .c-membership__wrapper-form button.submit {
    width: 307px;
  }
  .c-mobile-nav {
    --background-color: #FFFFFF;
    --text-color: #2A363B;
    --text-highlighted: #AE130F;
    --link-color: #2A363B;
    --border-color: #E3E3E3;
    --header-icon-color: #2A363B;
    --button-icon-color: #FFFFFF;
    --button-background-color: #AE130F;
    --link-active-outline-color: #2A363B;
    --focus-outline-color: #2A363B;
    --svg-fill-color: #2A363B;
    max-width: 500px;
    padding: 0 4rem;
    left: auto;
  }
  .c-mobile-nav__header {
    height: 7.4rem;
  }
  .c-mobile-nav .c-social {
    --link-decoration-color: #2A363B;
    margin-bottom: 0;
  }
  .c-mobile-nav .c-social__headline {
    --margin-bottom: 1.3rem;
  }
  .c-mobile-nav .c-social__link span {
    display: none;
  }
  .c-mobile-nav .c-social__link-svg {
    width: 4.2rem;
    height: 4.2rem;
  }
  .c-mobile-nav .c-social__link-svg::before {
    width: 4.2rem;
    height: 4.2rem;
  }
  .c-mobile-nav__lang ul::before {
    content: "";
    background-color: currentColor;
    width: 20px;
    height: 20px;
    display: inline-block;
    outline: 20px solid currentColor;
    outline-offset: calc(20px * -1);
    position: absolute;
    filter: none;
    /* stylelint-disable function-url-quotes */
    -webkit-mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
            mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
    /* stylelint-enable function-url-quotes */
    -webkit-mask-position: -1305px -50px;
            mask-position: -1305px -50px;
  }
  .c-mobile-nav__item > a,
  .c-mobile-nav__item > strong {
    font-size: 2.4rem;
  }
  .c-mobile-nav__item--back {
    border-bottom: 2px solid var(--border-color);
  }
  .c-mobile-nav__item .c-mobile-nav__button {
    --button-icon-color: #EEEEEE;
    width: 3.8rem;
    height: 3.8rem !important;
  }
  .c-mobile-nav__item .c-mobile-nav__button svg {
    max-height: 1.58rem;
  }
  .c-mobile-nav__item .c-mobile-nav__button--back {
    font-size: 2rem;
    line-height: 2.2rem;
    width: auto;
  }
  .c-mobile-nav__item .c-mobile-nav__button--back::before {
    content: "";
    background-color: currentColor;
    width: 18px;
    height: 20px;
    display: inline-block;
    outline: 20px solid currentColor;
    outline-offset: calc(20px * -1);
    position: absolute;
    filter: none;
    /* stylelint-disable function-url-quotes */
    -webkit-mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
            mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
    /* stylelint-enable function-url-quotes */
    -webkit-mask-position: -1181px -782px;
            mask-position: -1181px -782px;
    position: relative;
    top: 1px;
    margin-right: 1.6rem;
    margin-bottom: -3px;
  }
  .c-mobile-nav__memberbutton .c-button:focus-visible {
    outline-offset: -3px;
  }
  .c-mobile-nav__meta.navServiceGS a::before,
  .c-mobile-nav__meta.navServiceGS strong::before {
    content: "";
    background-color: currentColor;
    width: 26px;
    height: 24px;
    display: inline-block;
    outline: 26px solid currentColor;
    outline-offset: calc(26px * -1);
    position: absolute;
    filter: none;
    /* stylelint-disable function-url-quotes */
    -webkit-mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
            mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
    /* stylelint-enable function-url-quotes */
    -webkit-mask-position: -300px -1055px;
            mask-position: -300px -1055px;
    top: -6px;
    left: -2px;
  }
  .c-mobile-nav__meta.navServiceLS a::before,
  .c-mobile-nav__meta.navServiceLS strong::before {
    content: "";
    background-color: currentColor;
    width: 18px;
    height: 18px;
    display: inline-block;
    outline: 18px solid currentColor;
    outline-offset: calc(18px * -1);
    position: absolute;
    filter: none;
    /* stylelint-disable function-url-quotes */
    -webkit-mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
            mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
    /* stylelint-enable function-url-quotes */
    -webkit-mask-position: -1305px -409px;
            mask-position: -1305px -409px;
    top: 0;
    left: 0;
  }
  .c-mobile-nav__meta.navServiceLS::before {
    left: 4rem;
    right: 4rem;
  }
  .c-module--gap {
    --base-module-gap-top: 6rem;
    --base-module-gap-bottom: 7.3rem;
    --module-gap-top: 6rem;
    --module-gap-bottom: 7.3rem;
  }
  .c-most-important__wrapper .c-most-important__image {
    display: flex;
    width: 100%;
    min-height: 32rem;
    height: 100%;
  }
  .c-most-important__wrapper .c-most-important__image > img {
    align-self: center;
    margin: 0 auto;
  }
  .c-most-important__wrapper .c-most-important__controls {
    margin-top: 3.4rem;
  }
  .c-mutterschutzfristenrechner__resultContainer > .c-mutterschutzfristenrechner__resultInnerContainer > .c-mutterschutzfristenrechner__result > .result-end {
    flex-direction: row;
  }
  .c-mutterschutzfristenrechner__resultContainer > .c-mutterschutzfristenrechner__resultInnerContainer > .c-mutterschutzfristenrechner__result > .result-end > div {
    max-width: 48%;
  }
  .c-nav-primary {
    --nav-primary-height: 7.3rem;
  }
  .c-nav-primary__additional-list {
    --nav-primary-item-inline-gap: 1.1rem;
  }
  .c-nav-primary__item--mitglied-werden .c-nav-primary__button {
    font-size: 1.6rem;
  }
  .c-nav-primary__button {
    --button-padding: 1.2rem 2.65rem 11.4rem;
  }
  .c-nav-primary__icon-link svg {
    max-width: unset;
  }
  .c-news-card__wrapper {
    padding: 15px 15px 0;
  }
  .c-news-card__content {
    padding-bottom: 15px;
  }
  .c-news-card__content p {
    line-height: 2.4rem;
  }
  .c-news__item {
    margin-bottom: 2.4rem;
  }
  .c-news__item::after {
    display: none;
  }
  .c-news__item .c-news-card__wrapper {
    padding-top: 2rem;
  }
  .c-possibilities {
    --text-size: 1.8rem;
  }
  .c-possibilities__segmentTitle {
    margin-bottom: 3.3rem;
  }
  .c-possibilities__wrapper > .c-possibilities__item {
    padding-top: 0;
  }
  .c-possibilities__wrapper > .c-possibilities__item:nth-of-type(n+4) {
    padding-top: 2rem;
  }
  .c-possibilities__wrapper > .c-possibilities__item > .c-possibilities__itemWrapper {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    padding: 0 1.6rem 0 2.5rem;
  }
  .c-possibilities__wrapper > .c-possibilities__item > .c-possibilities__itemWrapper > .c-possibilities__itemIconArea {
    grid-column: 1;
    height: 9.1rem;
    max-height: 9.1rem;
  }
  .c-possibilities__wrapper > .c-possibilities__item > .c-possibilities__itemWrapper > .c-possibilities__itemIconArea svg {
    transform: scale(0.75);
  }
  .c-possibilities__wrapper > .c-possibilities__item > .c-possibilities__itemWrapper > .c-possibilities__itemContent {
    margin-bottom: 2.5rem;
  }
  .c-possibilities__wrapper > .c-possibilities__item > .c-possibilities__itemWrapper > .c-possibilities__itemContent > p {
    margin: 0;
  }
  .c-possibilities__wrapper > .c-possibilities__item > .c-possibilities__itemWrapper > .c-possibilities__itemLink {
    grid-column: 1;
    grid-row: 3;
  }
  .previewhint .column:first-child {
    margin-right: auto;
  }
  .previewhint .column:not(:last-child) {
    margin-bottom: 0;
  }
  .c-rating__formHandle .submit {
    width: auto;
  }
  .c-rating__thumbs .formLabel {
    margin-bottom: 1rem;
  }
  .c-report-box {
    max-width: 500px;
  }
  .c-report-box-badge {
    --badge-position-right: 1.2rem;
  }
  .c-report-box-badge__counter {
    top: 2.6rem;
    width: 1.9rem;
    height: 1.9rem;
  }
  .c-mobile-nav .c-report-box-badge {
    --badge-position-right: 0.1rem;
  }
  .c-mobile-nav .c-report-box-badge__counter {
    top: 0;
  }
  .c-search__facet--reset {
    margin-bottom: 0;
  }
  .c-search--reset {
    margin-left: 2rem;
  }
  .c-search__facet--filter {
    display: flex;
    flex-wrap: wrap;
  }
  .c-search__facet--filter ul {
    display: flex;
    flex-wrap: wrap;
    padding-left: 0;
  }
  .c-search__facet--filter ul li {
    list-style-type: none;
    padding-right: 2rem;
  }
  .c-search-quicklinks__item {
    margin: 0 1.8rem 1.8rem 0 !important;
  }
  .c-search-quicklinks__link {
    font-size: 1.6rem;
    padding: 1rem 1.5rem;
  }
  .c-searchresult-teaser__image {
    width: 30%;
  }
  .c-searchresult-teaser__text {
    width: 70%;
  }
  .c-servicesearch {
    --background-color: #FFFFFF;
    --close-icon-color: #2A363B;
    --headline-color: #2A363B;
    --text-color: #2A363B;
    --border-color: #2A363B;
    --focus-outline-color-closebutton: #000000;
    --focus-outline-color-searchinput: #000000;
    --focus-outline-offset-searchinput: 0rem;
    max-width: 500px;
  }
  .c-servicesearch__headline {
    font-size: 4rem;
    margin-bottom: 2.4rem;
  }
  .c-servicesearch__closebutton {
    top: 2.5rem;
    right: 3.1rem;
  }
  .c-servicesearch__closebutton svg {
    width: 2.5rem;
    height: 2.5rem;
  }
  .c-servicesearch__input fieldset .searchAutoSuggestBox {
    top: 7rem !important;
  }
  .c-servicesearch__input fieldset .searchAutoSuggestBox li {
    padding: 1rem 3.5rem !important;
  }
  .c-servicesearch__input input[type=text] {
    padding: 2.7rem 5.6rem 1.9rem 2.5rem !important;
  }
  .c-servicesearch__input input[type=text]::-moz-placeholder {
    font-size: 2rem;
  }
  .c-servicesearch__input input[type=text]::placeholder {
    font-size: 2rem;
  }
  .c-servicesearch__input input[type=image] {
    top: 0.1rem;
    right: 0.1rem;
    padding: 2.1rem;
    height: 7rem;
    width: 7rem;
  }
  .c-slideshow-navigation__button svg {
    max-width: 13px;
  }
  .c-slideshow-navigation .slick-dots li {
    margin: 0 12.5px 5px;
  }
  .c-slideshow-navigation .slick-dots li.slick-active button::before {
    border-width: 4px;
  }
  .c-slideshow-navigation--dots .slick-dots li {
    margin: 0;
  }
  .c-usp-bar .c-slideshow-navigation .slick-dots {
    display: none !important;
  }
  .c-card-slider .c-slideshow-navigation .slick-dots {
    bottom: -10px;
  }
  .c-social {
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 10px;
  }
  .c-social__headline {
    --margin-bottom: 1.8rem;
  }
  .c-social__link {
    font-size: 1.6rem;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
  }
  .c-social__link span {
    display: inline-block;
  }
  .c-social__link-svg {
    margin-right: 9px;
    height: 24px;
    width: 24px;
    min-width: 24px;
  }
  .c-social__link-svg::before {
    height: 24px;
    width: 24px;
  }
  .c-social__link svg {
    transform: translate(-50%, -50%) scale(1);
  }
  .c-stage {
    --media-height: 60.9rem;
  }
  .c-stage__container {
    --inline-margin: -1.2rem;
  }
  .c-stage .c-stage__text-wrapper {
    margin-inline: 4rem;
  }
  .c-stage.c-stage--video {
    position: relative;
  }
  .c-stage.c-stage--video video {
    -o-object-position: center;
       object-position: center;
  }
  .c-stage.c-stage--video .c-stage__video-controls {
    --offset: 4rem;
  }
  .c-stage.c-stage--video, .c-stage.c-stage--image {
    position: relative;
  }
}
@media only screen and (min-width: 48em) and (min-width: 48em) and (max-width: 63.99875em) {
  .c-stage.c-stage--video:not(.c-stage--search) .c-headline, .c-stage.c-stage--image:not(.c-stage--search) .c-headline {
    position: absolute;
    margin-inline: 3rem;
  }
  .c-stage.c-stage--video:not(.c-stage--search):not(.c-stage--with-text) .c-headline, .c-stage.c-stage--image:not(.c-stage--search):not(.c-stage--with-text) .c-headline {
    bottom: 3.5rem;
  }
}
@media only screen and (min-width: 48em) and (min-width: 64em) and (max-width: 74.99875em) {
  .c-stage.c-stage--video:not(.c-stage--search) .c-headline, .c-stage.c-stage--image:not(.c-stage--search) .c-headline {
    position: absolute;
    margin-inline: 3rem;
  }
  .c-stage.c-stage--video:not(.c-stage--search):not(.c-stage--with-text) .c-headline, .c-stage.c-stage--image:not(.c-stage--search):not(.c-stage--with-text) .c-headline {
    bottom: 3.5rem;
  }
}
@media only screen and (min-width: 48em) {
  .c-stage.c-stage--with-text .c-headline {
    --height: 15rem;
    --text-position: 13rem;
    bottom: unset;
    top: calc(var(--media-height) - var(--height) - var(--text-position));
  }
}
@media only screen and (min-width: 48em) {
  .c-stage.c-stage--search .c-headline {
    --text-position: 26.6rem;
    margin-inline: 3rem;
  }
  .c-stage.c-stage--search .c-stage__search-wrapper {
    --searchbar-width: 41.5rem;
    --searchbar-position: 14.8rem;
    margin-inline: 3rem;
  }
  .c-stage.c-stage--search .c-stage__search-wrapper input,
  .c-stage.c-stage--search .c-stage__search-wrapper button {
    --searchbar-height: 7rem;
    --searchbar-font-size: 1.8rem;
  }
  .c-stage.c-stage--search.c-stage--image.c-stage--with-text, .c-stage.c-stage--search.c-stage--video.c-stage--with-text {
    --_text-position: calc(var(--media-height) * .3);
    --_max-text-height: 22rem;
  }
  .c-stage.c-stage--search.c-stage--image.c-stage--with-text .c-headline, .c-stage.c-stage--search.c-stage--video.c-stage--with-text .c-headline {
    --_text-position: calc(var(--media-height) * .42);
  }
}
@media only screen and (min-width: 48em) {
  .c-step-by-step__wrapper > .c-step-by-step__item:not(:nth-of-type(1)) {
    padding-top: 0;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item:not(:nth-of-type(1))::before {
    content: "";
    background-color: currentColor;
    width: 8px;
    height: 14px;
    display: inline-block;
    outline: 14px solid currentColor;
    outline-offset: calc(14px * -1);
    position: absolute;
    filter: none;
    /* stylelint-disable function-url-quotes */
    -webkit-mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
            mask-image: url(https://www.knappschaft.de/SiteGlobals/Frontend/Images/icons/sprite.svg?__blob=normal&v=20);
    /* stylelint-enable function-url-quotes */
    -webkit-mask-position: -1305px -635px;
            mask-position: -1305px -635px;
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%) scale(1.252, 1.43);
  }
  .c-step-by-step__wrapper > .c-step-by-step__item:nth-of-type(1) > .c-step-by-step__itemWrapper {
    margin-right: 1rem;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item:nth-of-type(2) > .c-step-by-step__itemWrapper {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item:nth-of-type(3) > .c-step-by-step__itemWrapper {
    margin-left: 1rem;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item:nth-of-type(3)::before {
    left: 0.5rem;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item > .c-step-by-step__itemWrapper {
    padding: 0 1rem;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item > .c-step-by-step__itemWrapper > .c-step-by-step__itemIconArea {
    height: 10.7rem;
    max-height: 10.7rem;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item > .c-step-by-step__itemWrapper > .c-step-by-step__itemContent > .step-index {
    font-size: 7.5rem;
    padding-left: 0.5rem;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item > .c-step-by-step__itemWrapper > .c-step-by-step__itemContent > .step-content {
    font-size: 1.6rem;
    margin-left: 1.4rem;
    margin-bottom: 0.7rem;
  }
  .c-step-by-step__wrapper > .c-step-by-step__item > .c-step-by-step__itemWrapper > .c-step-by-step__itemContent > .step-content p {
    line-height: 2.2rem;
  }
}
@media only screen and (min-width: 48em) {
  .c-sticky-faq {
    --hint-position-x: -4.9rem;
    --hint-position-y: -2.5rem;
    --box-padding: 6.6rem 2.8rem 5.2rem;
    --hint-padding: .7rem 2.5rem 2.1rem 6.6rem;
    right: 0;
  }
  .c-sticky-faq__close {
    top: 1.1rem;
    right: 1.6rem;
  }
  .c-sticky-faq__hint::before {
    transform: none;
    left: 2rem;
  }
  .c-sticky-faq__hint * {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
  .c-sticky-faq__wrapper {
    width: auto;
    min-width: 417px;
  }
  .c-sticky-faq__headline {
    margin-bottom: 1.7rem;
  }
  .c-sticky-faq__headline button {
    font-size: 1.8rem;
    line-height: 2.7rem;
  }
  .c-sticky-faq__headline::before {
    transform: none;
    top: 2px;
  }
  .c-sticky-faq__headline.active-control {
    margin-bottom: 0.5rem;
  }
  .c-sticky-faq__headline.active-control::before {
    transform: rotate(180deg);
  }
}
@media only screen and (min-width: 48em) {
  .c-sticky-nav {
    --button-border: 1.7px solid #FFFFFF;
    --button-size: 5rem;
    --position-x: 25px;
    max-width: 48em;
  }
  .c-sticky-nav__item + .c-sticky-nav__item {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 48em) and (orientation: portrait) {
  .c-sticky-nav {
    --position-y: 256px;
  }
}
@media only screen and (min-width: 48em) {
  .c-teaser-slider {
    --dots-offset-y: 3.6rem;
  }
  .c-teaser-slider .c-slideshow-navigation--dots {
    position: relative;
    background-color: transparent;
    display: flex;
    justify-content: flex-end;
    padding: 10px 26px;
  }
}
@media only screen and (min-width: 48em) {
  .c-teaser__wrapper {
    padding: 18px 24px 27px 18px;
    min-height: 213px;
  }
  .c-teaser__meta {
    margin-bottom: 12px;
  }
  .c-teaser__headline {
    font-size: 2.4rem;
    line-height: 1.3333;
    margin-bottom: 10px;
  }
  .c-teaser__image {
    height: 313px;
  }
  .c-teaser__image img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 48em) {
  .c-toggle-faq {
    --font-size: 1.6rem;
  }
  .c-toggle-faq__container {
    margin-bottom: 5rem;
  }
  .c-toggle-faq__title button {
    padding: 1.5rem 3rem 1.5rem 3.7rem;
  }
  .c-toggle-faq__more-link {
    font-size: 2rem;
    margin: 7rem auto 0;
  }
}
@media only screen and (min-width: 48em) {
  .c-top-services {
    --tabs-container-margin-bottom: 0;
    position: relative;
  }
  .c-top-services__intro p {
    font-size: 1.6rem;
  }
  .c-top-services__tabs {
    background-color: var(--background-color);
    min-height: 368px;
    padding: 0 2.5rem;
    position: relative;
    border: 1px solid var(--border-color);
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 30px), calc(100% - 305px) calc(100% - 30px), calc(100% - 305px) 100%, 0% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 30px), calc(100% - 305px) calc(100% - 30px), calc(100% - 305px) 100%, 0% 100%);
  }
  .c-top-services__tabs::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    height: 30px;
    width: 305px;
    box-shadow: 0 0 0 1px var(--border-color);
  }
  .c-top-services__tabs-list {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    position: relative;
  }
  .c-top-services__tabs-list::after {
    content: "";
    position: absolute;
    display: block;
    bottom: 0;
    left: 0;
    right: 0;
    border: 2px solid var(--border-color);
    border-radius: 2px;
  }
  .c-top-services__tabs-item {
    border: none;
    margin-bottom: 0;
  }
  .c-top-services__tabs-link {
    display: block;
    height: auto;
    padding: 10rem 0.5rem 2.5rem 0.5rem;
    text-align: center;
  }
  .c-top-services__tabs-link::before {
    top: 5rem;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .c-top-services__tabs-link::after {
    background: none !important;
    display: block;
    width: 100%;
    height: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border: 2px solid var(--border-color);
    border-radius: 2px;
    z-index: 1;
  }
  .c-top-services__tabs-link.active-control::after {
    background: none !important;
    display: block;
    width: 100%;
    height: 0;
    bottom: 0;
    outline: none;
    -webkit-mask-image: none;
            mask-image: none;
    left: 0;
    right: 0;
    border: 2px solid var(--border-active-color);
    border-radius: 2px;
    z-index: 1;
  }
  .c-top-services__tabs-opener {
    width: 0;
    line-height: 0;
    position: absolute;
    left: -2000px;
    overflow: hidden;
  }
  .c-top-services__tabs-container {
    padding: 2.5rem 3rem 3rem;
    margin-bottom: 0;
  }
  .c-top-services__tabs-panel {
    border: none;
    padding: 0;
    margin-bottom: 1px;
  }
  .c-top-services__tabs-panel-list {
    flex-direction: row;
    gap: 2rem 5rem;
  }
}
@media only screen and (min-width: 48em) {
  .c-top-teaser {
    --wrapper-block-padding: 1.8rem 5.3rem;
  }
  .c-top-teaser__headline {
    font-size: 2.5rem;
    line-height: 1.28;
    margin-bottom: 10px;
  }
  .c-top-teaser__topline span,
  .c-top-teaser__topline strong {
    font-size: 2.5rem;
    padding: 0.8rem 1.4rem 0.8rem;
  }
  .c-top-teaser__topline strong {
    font-weight: 700;
    padding: 1.4rem;
  }
  .c-top-teaser__topline--breakout {
    margin-left: 5rem;
    text-indent: -5rem;
  }
  .c-top-teaser__meta {
    margin-bottom: 6px;
  }
  .c-top-teaser__text * {
    line-height: 1.5;
  }
  .c-top-teaser p:not([class]) {
    margin-bottom: 10px;
  }
  .c-top-teaser__link {
    -webkit-padding-start: 2.1rem;
            padding-inline-start: 2.1rem;
  }
}
@media only screen and (min-width: 48em) {
  .c-umfrage .errorJumpLinks {
    -webkit-padding-before: 5rem;
            padding-block-start: 5rem;
  }
}
@media only screen and (min-width: 48em) {
  .c-usp-bar {
    padding-block: 1.2rem;
  }
  .c-usp-bar__wrapper .slick-list {
    margin: 0 40px;
  }
  .c-usp-bar__wrapper .slick-track {
    display: flex;
    align-items: normal;
  }
  .c-usp-bar__slide {
    flex-direction: row;
    padding: 2.8rem 2rem;
    margin-bottom: 0;
    height: auto;
  }
  .c-usp-bar__slide > .c-usp-bar__link {
    flex-direction: row;
    height: 100%;
    padding-inline: 2rem;
    padding-block: 2.8rem;
  }
  .c-usp-bar__slide:has(.c-usp-bar__link) {
    padding-inline: 0;
  }
  .c-usp-bar__slide span {
    text-align: left;
    line-height: 2.4rem;
  }
  .c-usp-bar__slide svg {
    margin-right: 15px;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 48em) {
  .c-verteilerkacheln .row > .columns:not(:nth-of-type(n+4)) > .c-verteilerkachel {
    margin-top: 0;
  }
  .c-verteilerkacheln .row > .columns:nth-of-type(n+4) > .c-verteilerkachel {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 48em) {
  .c-vorteilsrechner .js-accordion {
    margin-top: 5rem;
  }
  .c-vorteilsrechner .js-accordion > .c-accordion-container > .c-accordion-title .c-vorteilsrechner__itemTitle > .c-vorteilsrechner__itemImage {
    display: inline-block;
  }
}
@media only screen and (min-width: 48em) {
  .tooltip-content {
    max-width: 52rem;
  }
}
@media only screen and (min-width: 48em) {
  .l-content-wrapper {
    --base-content-gap-bottom: 7.3rem;
    --content-gap-bottom: 7.3rem;
  }
  .l-content-wrapper__content {
    padding-bottom: 20px;
  }
  .l-content-wrapper__headline {
    margin-top: 0;
    padding-top: 20px;
    margin-bottom: 20px;
  }
  .l-content-wrapper__text p {
    margin-bottom: 20px;
  }
  .l-content-wrapper > .formContainer {
    padding: 0 10rem;
  }
  .l-content-wrapper > .formContainer::before {
    display: none;
  }
}
@media only screen and (min-width: 48em) {
  .l-cutout {
    --cutout-width: 7.7rem;
    --cutout-height: 1rem;
  }
  .l-cutout--large-up {
    -webkit-clip-path: var(--cutout-clip-path);
            clip-path: var(--cutout-clip-path);
  }
  .l-cutout--xxlarge-up {
    -webkit-clip-path: none;
            clip-path: none;
  }
  .l-cutout.c-card-slider__slide {
    --cutout-width: 5.9rem;
  }
}
@media only screen and (min-width: 48em) {
  .l-header__wrapper {
    --header-wrapper-padding: 3rem;
    --header-wrapper-min-height: 7.3rem;
    --header-wrapper-min-height-deko: 0.8rem;
  }
  .l-header__wrapper::after {
    width: calc(100% - 7rem);
  }
  .l-header__logo {
    display: block;
    margin-block: 1.4rem 0.3rem;
  }
  .l-header__logo p {
    margin-bottom: 0;
  }
  .l-header__logo img {
    max-width: 20.5rem;
  }
}
@media only screen and (min-width: 48em) {
  .mfp-content {
    width: auto !important;
  }
}
@media only screen and (min-width: 48em) {
  .h-expand {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjItdG9vbHMvX21peGlucy5zY3NzIiwibGFyZ2Uuc2NzcyIsIjMtZWxlbWVudHMvX2xhcmdlLnNjc3MiLCJsYXJnZS5jc3MiLCI0LWNvbXBvbmVudHMvYy0zLWZha3Rlbi1ib3gvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy01MC1ncnVlbmRlL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtYWNjb3JkaW9uL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtYWt0aXYtYm9udXMtYmVpc3BpZWwvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1ha3Rpdi1ib251cy1pdGVtL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtYXV0b3N1Z2dlc3QvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1hd2FyZHMtdjIvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1hd2FyZHMvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1ib3gtbGlzdC9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLWJyZWFkY3J1bWIvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1jYXJkLXNsaWRlci9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLWNhcmQvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1jaGVja2xpc3RlL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtY29tcGV0ZW5jZS9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLWN0YS9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLWRpYWxvZy1wb3B1cC9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLWZvb3Rlci9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLWhlYWRsaW5lL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2Mta3VuZGVuc2VydmljZS9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLWxpbmstbGlzdC9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLW1lbWJlcnNoaXAvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1tb2JpbGUtbmF2L19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtbW9kdWxlL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtbW9zdC1pbXBvcnRhbnQvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1tdXR0ZXJzY2h1dHpmcmlzdGVucmVjaG5lci9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLW5hdi1wcmltYXJ5L19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtbmV3cy1jYXJkL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtbmV3cy9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLXBvc3NpYmlsaXRpZXMvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1wcmV2aWV3L19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtcmF0aW5nL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtcmVwb3J0LWJveC9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLXNlYXJjaC1mYWNldHMtZmlsdGVyL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2Mtc2VhcmNoLXF1aWNrbGlua3MvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1zZWFyY2hyZXN1bHQvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1zZXJ2aWNlc2VhcmNoL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2Mtc2xpZGVzaG93LW5hdmlnYXRpb24vX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1zb2NpYWwvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy1zdGFnZS9fbGFyZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiNC1jb21wb25lbnRzL2Mtc3RlcC1ieS1zdGVwL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2Mtc3RpY2t5LWZhcS9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLXN0aWNreS1uYXYvX2xhcmdlLnNjc3MiLCIxLXNldHRpbmdzL19mb3VuZGF0aW9uLnNjc3MiLCI0LWNvbXBvbmVudHMvYy10ZWFzZXItc2xpZGVyL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtdGVhc2VyL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtdG9nZ2xlLWZhcS9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLXRvcC1zZXJ2aWNlcy9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLXRvcC10ZWFzZXIvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy11bWZyYWdlL19sYXJnZS5zY3NzIiwiNC1jb21wb25lbnRzL2MtdXNwLWJhci9fbGFyZ2Uuc2NzcyIsIjQtY29tcG9uZW50cy9jLXZlcnRlaWxlcmthY2hlbG4vX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvYy12b3J0ZWlsc3JlY2huZXIvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvZm9ybXVsYXIvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvbC1jb250ZW50LXdyYXBwZXIvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvbC1jdXRvdXQvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvbC1oZWFkZXIvX2xhcmdlLnNjc3MiLCI0LWNvbXBvbmVudHMvbGlnaHRib3gvX2xhcmdlLnNjc3MiLCI1LWhlbHBlcnMvei1pbmRleC9fbGFyZ2Uuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpTkE7OztFQUFBO0FDM01BO0VEMk1BOzs7SUFBQTtFRS9NQTtJRjhOVSxlQUFBO0lBVUEsa0JBQUE7SUFXQSxrQkFBQTtJQVVBLG1CQUFBO0VHalBSO0VDWkE7SUFDRSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsTUFBQTtJQUNBLFlBQUE7SUFDQSx3QkFBQTtJQUFBLG1CQUFBO0lBQ0EsU0FBQTtJQUNBLDBCQUFBO0lBQ0EsZ0JB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RjtBQUNGO0FGN3FDQTtFMkRGRTtJQUNFLDhCQUFBO0lBQ0EsbUNBQUE7SUFDQSx3Q0FBQTtFekRrckNGO0V5RGhyQ0U7SUFDRSx3QkFBQTtFekRrckNKO0V5RDlxQ0E7SUFDRSxjQUFBO0lBQ0EsMkJBQUE7RXpEZ3JDRjtFeUQ5cUNFO0lBQ0UsZ0JBQUE7RXpEZ3JDSjtFeUQ3cUNFO0lBQ0Usa0JBQUE7RXpEK3FDSjtBQUNGO0FGanNDQTtFNEROQTtJQUNFLHNCQUFBO0UxRDBzQ0E7QUFDRjtBRnRzQ0E7RTZETkE7SUFDRSw2QkFBQTtJQUNBLDhCQUFBO0UzRCtzQ0E7QUFDRiIsImZpbGUiOiJsYXJnZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi8xLXNldHRpbmdzL3NldHRpbmdzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvdXRpbCc7XHJcblxyXG4kcm91bmQtY29ybmVyOiA1cHggIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gZG90dGVkT3V0bGluZSgkb3V0bGluZVN0eWxlOiBkb3R0ZWQsICRvdXRsaW5lQ29sb3I6ICRjb2xvci1ibGFjaywgJG91dGxpbmVXaWR0aDogMXB4KSB7XHJcbiAgb3V0bGluZS1zdHlsZTogJG91dGxpbmVTdHlsZTtcclxuICBvdXRsaW5lLWNvbG9yOiAkb3V0bGluZUNvbG9yO1xyXG4gIG91dGxpbmUtd2lkdGg6ICRvdXRsaW5lV2lkdGg7XHJcbn1cclxuXHJcbkBtaXhpbiB3aXRoSGVhZGVyKCkge1xyXG4gIHBhZGRpbmctdG9wOiAxZW07XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vL0F1cmFsIGF1c2JsZW5kZW5cclxuQG1peGluIGhpZGVBdXJhbCgpIHtcclxuICBsZWZ0OiAtMjAwMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAwO1xyXG59XHJcblxyXG5AbWl4aW4gY2F0ZWdvcnkoJGZvbnQtc2l6ZTogMS4ycmVtKSB7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuQG1peGluIGJhY2tncm91bmQoJGljb24sICRzcHJpdGU6ICdzcHJpdGUnKSB7XHJcbiAgJGljb24taWRlbnRpZmllcjogI3skc3ByaXRlKyctLScrJGljb259O1xyXG4gICRpY29uLWF0dHJpYnV0ZXM6IG1hcC1nZXQoJGljb25zLCAkaWNvbi1pZGVudGlmaWVyKTtcclxuICBAaWYgKCRpY29uLWF0dHJpYnV0ZXMgPT0gbnVsbCkge1xyXG4gICAgQGVycm9yICdJY29uIFwiJyArICAkaWNvbiAgKyAnXCIgaW0gU3ByaXRlIFwiJyArICRzcHJpdGUgKyAnXCIgbmljaHQgZ2VmdW5kZW4nO1xyXG4gIH1cclxuICAkaWNvbi14OiBtYXAtZ2V0KCRpY29uLWF0dHJpYnV0ZXMsIGJhY2tncm91bmRYKTtcclxuICAkaWNvbi15OiBtYXAtZ2V0KCRpY29uLWF0dHJpYnV0ZXMsIGJhY2tncm91bmRZKTtcclxuICAkaWNvbi13aWR0aDogbWFwLWdldCgkaWNvbi1hdHRyaWJ1dGVzLCB3aWR0aCk7XHJcbiAgJGljb24taGVpZ2h0OiBtYXAtZ2V0KCRpY29uLWF0dHJpYnV0ZXMsIGhlaWdodCk7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogJGljb24td2lkdGg7XHJcbiAgaGVpZ2h0OiAkaWNvbi1oZWlnaHQ7XHJcbiAgYmFja2dyb3VuZDogdXJsKG1hcC1nZXQoJHNwcml0ZS1hdHRyaWJ1dGVzLCBzdmdQYXRoKSkgbm8tcmVwZWF0ICRpY29uLXggJGljb24teTtcclxufVxyXG5cclxuQG1peGluIGJhY2tncm91bmQtZXh0ZW5kZWQoJGljb24sICRzcHJpdGU6ICdzcHJpdGUnLCAkdHlwZTogJ2FmdGVyJywgJHNwYWNpbmc6ICRndXR0ZXIpIHtcclxuICAkaWNvbi1pZGVudGlmaWVyOiAjeyRzcHJpdGUrJy0tJyskaWNvbn07XHJcbiAgJGljb24tYXR0cmlidXRlczogbWFwLWdldCgkaWNvbnMsICRpY29uLWlkZW50aWZpZXIpO1xyXG4gICRpY29uLXg6IG1hcC1nZXQoJGljb24tYXR0cmlidXRlcywgYmFja2dyb3VuZFgpO1xyXG4gICRpY29uLXk6IG1hcC1nZXQoJGljb24tYXR0cmlidXRlcywgYmFja2dyb3VuZFkpO1xyXG4gICRpY29uLXdpZHRoOiBtYXAtZ2V0KCRpY29uLWF0dHJpYnV0ZXMsIHdpZHRoKTtcclxuICAkaWNvbi1oZWlnaHQ6IG1hcC1nZXQoJGljb24tYXR0cmlidXRlcywgaGVpZ2h0KTtcclxuXHJcbiAgQGlmICR0eXBlID09ICdhZnRlcicge1xyXG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMobWFwLWdldCgkaWNvbi1hdHRyaWJ1dGVzLCB3aWR0aCkpICsgcmVtLWNhbGMoJHNwYWNpbmcpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyhtYXAtZ2V0KCRpY29uLWF0dHJpYnV0ZXMsIHdpZHRoKSkgKyByZW0tY2FsYygkc3BhY2luZyk7XHJcbiAgfVxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgJjo6I3skdHlwZX0ge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogJGljb24td2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRpY29uLWhlaWdodDtcclxuICAgIGJhY2tncm91bmQ6IHVybChtYXAtZ2V0KCRzcHJpdGUtYXR0cmlidXRlcywgc3ZnUGF0aCkpIG5vLXJlcGVhdCAkaWNvbi14ICRpY29uLXk7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXNrLWltYWdlKCRpY29uLCAkaWNvbi1jb2xvcjogY3VycmVudENvbG9yLCAkc3ByaXRlOiAnc3ByaXRlJywgJHBvc2l0aW9uOiBhYnNvbHV0ZSkge1xyXG4gICRpY29uLWlkZW50aWZpZXI6ICN7JHNwcml0ZSArICctLScgKyAkaWNvbn07XHJcbiAgJGljb24tYXR0cmlidXRlczogbWFwLWdldCgkaWNvbnMsICRpY29uLWlkZW50aWZpZXIpO1xyXG5cclxuICBAaWYgbm90ICRpY29uLWF0dHJpYnV0ZXMge1xyXG4gICAgQGVycm9yICdJY29uIFwiJyArICRpY29uICsgJ1wiIGltIFNwcml0ZSAnICsgJHNwcml0ZSArICdcIiBuaWNodCBnZWZ1bmRlbic7XHJcbiAgfVxyXG5cclxuICAkaWNvbi14OiBtYXAtZ2V0KCRpY29uLWF0dHJpYnV0ZXMsIGJhY2tncm91bmRYKTtcclxuICAkaWNvbi15OiBtYXAtZ2V0KCRpY29uLWF0dHJpYnV0ZXMsIGJhY2tncm91bmRZKTtcclxuICAkaWNvbi13aWR0aDogbWFwLWdldCgkaWNvbi1hdHRyaWJ1dGVzLCB3aWR0aCk7XHJcbiAgJGljb24taGVpZ2h0OiBtYXAtZ2V0KCRpY29uLWF0dHJpYnV0ZXMsIGhlaWdodCk7XHJcbiAgJG9mZnNldFNpemU6ICRpY29uLXdpZHRoO1xyXG5cclxuICBAaWYgJGljb24td2lkdGggPiAkaWNvbi1oZWlnaHQge1xyXG4gICAgJG9mZnNldFNpemU6ICRpY29uLXdpZHRoO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJG9mZnNldFNpemU6ICRpY29uLWhlaWdodDtcclxuICB9XHJcblxyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbG9yO1xyXG4gIHdpZHRoOiAkaWNvbi13aWR0aDtcclxuICBoZWlnaHQ6ICRpY29uLWhlaWdodDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgb3V0bGluZTogI3skb2Zmc2V0U2l6ZX0gc29saWQgY3VycmVudENvbG9yO1xyXG4gIG91dGxpbmUtb2Zmc2V0OiBjYWxjKCN7JG9mZnNldFNpemV9ICogLTEpO1xyXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XHJcbiAgZmlsdGVyOiBub25lO1xyXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLXVybC1xdW90ZXMgKi9cclxuICBtYXNrLWltYWdlOiB1cmwobWFwLWdldCgkc3ByaXRlLWF0dHJpYnV0ZXMsIHN2Z1BhdGgpKTtcclxuICAvKiBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLXVybC1xdW90ZXMgKi9cclxuICBtYXNrLXBvc2l0aW9uOiAkaWNvbi14ICRpY29uLXk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYXVyYWwge1xyXG4gIHdpZHRoOiAwO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBjbGlwOiByZWN0KDAgMCAwIDApO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd29yZC1icmVhazogbm9ybWFsO1xyXG59XHJcblxyXG5AbWl4aW4gYXVyYWwtcmVzZXQge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgY2xpcDogYXV0bztcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuQG1peGluIGJnLWljb24ge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbkBtaXhpbiBiZy1yZXNldCB7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi8vIEJlc2NocmVpYnVuZyB1bnRlciBodHRwczovL2dpdGxhYi1nc2Jvcy5tYXRlcm5hLmRlL3NuaXBwZXRzLzZcclxuQGltcG9ydCAnbWl4aW5zL3Jlc2V0LXByb3BlcnRpZXMnO1xyXG5cclxuLy8gQmVzY2hyZWlidW5nIHVudGVyIGh0dHBzOi8vZ2l0bGFiLWdzYm9zLm1hdGVybmEuZGUvc25pcHBldHMvMjhcclxuQG1peGluIGdyb3VwKCRsaXN0KSB7XHJcbiAgJHNlbGVjdG9yOiAnJztcclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGxpc3QpIHtcclxuICAgICRpdGVtOiBudGgoJGxpc3QsICRpKTtcclxuXHJcbiAgICBAaWYgJGkgPT0gbGVuZ3RoKCRsaXN0KSB7XHJcbiAgICAgICRzZWxlY3RvcjogJHNlbGVjdG9yICsgJGl0ZW07XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHNlbGVjdG9yOiAkc2VsZWN0b3IgKyAkaXRlbSArICcsJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICN7JHNlbGVjdG9yfSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJlc2NocmVpYnVuZyB1bnRlciBodHRwczovL2dpdGxhYi1nc2Jvcy5tYXRlcm5hLmRlL3NuaXBwZXRzLzMzXHJcbkBtaXhpbiBhZHZhbmNlZC1icmVhay1vdXQtb2YtZ3JpZCAoJGJhc2lzOiAxMiwgJGxlZnQ6IG51bGwsICRyaWdodDogbnVsbCwgJHZpZXdwb3J0OiBzbWFsbCwgJGFkZEd1dHRlckxlZnQ6IDAsICRhZGRHdXR0ZXJSaWdodDogMCkge1xyXG4gICRndXR0ZXI6IG1hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgJHZpZXdwb3J0KSAqIDE7XHJcbiAgQGlmICRsZWZ0ICE9IG51bGwge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoKCgtMTAwJSAtICN7JGd1dHRlcn0pIC8gI3skYmFzaXN9ICogI3skbGVmdH0pIC0gI3skZ3V0dGVyfSAqICAjeyRhZGRHdXR0ZXJMZWZ0fSk7XHJcbiAgfVxyXG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoKCgtMTAwJSAtICN7JGd1dHRlcn0pIC8gI3skYmFzaXN9ICogI3skcmlnaHR9KSAtICN7JGd1dHRlcn0gKiAgI3skYWRkR3V0dGVyUmlnaHR9KTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhZHZhbmNlZC1icmVhay1vdXQtd2lkdGgoJGJhc2lzOiAxMiwgJHdpZHRoOiBudWxsLCAkdmlld3BvcnQ6IHNtYWxsLCAkYWRkR3V0dGVyOiAwKSB7XHJcbiAgJGd1dHRlcjogbWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAkdmlld3BvcnQpICogMTtcclxuICB3aWR0aDogY2FsYygoKDEwMCUgKyAjeyRndXR0ZXJ9KSAvICN7JGJhc2lzfSAqICN7JHdpZHRofSkgLSAjeyRndXR0ZXJ9ICsgI3skZ3V0dGVyfSAqICN7JGFkZEd1dHRlcn0pO1xyXG59XHJcblxyXG4vLyBCZXNjaHJlaWJ1bmcgdW50ZXIgaHR0cHM6Ly9naXRsYWItZ3Nib3MubWF0ZXJuYS5kZS9zbmlwcGV0cy80M1xyXG5AaW1wb3J0ICdtaXhpbnMvYWN0aXZlLXN0YXRlcyc7XHJcblxyXG5AbWl4aW4gZm9udCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRwcmVjaXNpb246IDEpIHtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gIGxpbmUtaGVpZ2h0OiBsaW5lLWhlaWdodCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRwcmVjaXNpb24pO1xyXG59XHJcblxyXG5AbWl4aW4gZnVsbHdpZHRoLWJhY2tncm91bmQoJGJhY2tncm91bmQtY29sb3IpIHtcclxuICBjb250ZW50OiAnJztcclxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jb2xvcjtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG5cclxuQG1peGluIGFkZC1jb250YWluZXItcGFkZGluZ3MoJGJyZWFrcG9pbnQ6IHNtYWxsKSB7XHJcbiAgcGFkZGluZzogbWFwLWdldCgkaW5uZXItbW9kdWxlLWNvbnRhaW5lci1wYWRkaW5ncywgJGJyZWFrcG9pbnQpO1xyXG5cclxuICBAY29udGVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBwYXJhbSAkYnJlYWtwb2ludCBlLmcuIHhsYXJnZVxyXG4gKiBAcGFyYW0gJGhlYWRlclNpemUgZS5nLiBoMlxyXG4gKi9cclxuQG1peGluIGdldC1oZWFkZXItc3R5bGVzKCRicmVha3BvaW50OiBzbWFsbCwgJGhlYWRlclNpemUpIHtcclxuXHJcbiAgQGlmIGhhcy12YWx1ZSgkaGVhZGVyU2l6ZSkge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItc3R5bGVzLCAkYnJlYWtwb2ludCkge1xyXG4gICAgICAkYnJlYWtwb2ludC1oZWFkZXItc3R5bGVzLXRlbXA6IG1hcC1nZXQoJGhlYWRlci1zdHlsZXMsICRicmVha3BvaW50KTtcclxuXHJcbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludC1oZWFkZXItc3R5bGVzLXRlbXAsICRoZWFkZXJTaXplKSB7XHJcbiAgICAgICAgJGhlYWRlclNpemUtc3R5bGVzLXRlbXA6IG1hcC1nZXQoJGJyZWFrcG9pbnQtaGVhZGVyLXN0eWxlcy10ZW1wLCAkaGVhZGVyU2l6ZSk7XHJcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xyXG5cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlclNpemUtc3R5bGVzLXRlbXAsIGZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXJTaXplLXN0eWxlcy10ZW1wLCBmb250LXNpemUpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlclNpemUtc3R5bGVzLXRlbXAsIGZzKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlclNpemUtc3R5bGVzLXRlbXAsIGZzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIGlmICRicmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXJTaXplLXN0eWxlcy10ZW1wLCBsaW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJGhlYWRlclNpemUtc3R5bGVzLXRlbXAsIGxpbmUtaGVpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlclNpemUtc3R5bGVzLXRlbXAsIGxoKSB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkaGVhZGVyU2l6ZS1zdHlsZXMtdGVtcCwgbGgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXJTaXplLXN0eWxlcy10ZW1wLCBtYXJnaW4tdG9wKSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXJTaXplLXN0eWxlcy10ZW1wLCBtYXJnaW4tdG9wKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXJTaXplLXN0eWxlcy10ZW1wLCBtdCkge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyU2l6ZS1zdHlsZXMtdGVtcCwgbXQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2UgaWYgJGJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyU2l6ZS1zdHlsZXMtdGVtcCwgbWFyZ2luLWJvdHRvbSkge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyU2l6ZS1zdHlsZXMtdGVtcCwgbWFyZ2luLWJvdHRvbSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyU2l6ZS1zdHlsZXMtdGVtcCwgbWIpIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlclNpemUtc3R5bGVzLXRlbXAsIG1iKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIGlmICRicmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50IHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaHlwaGVucygpIHtcclxuICBoeXBoZW5zOiBhdXRvO1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG59XHJcblxyXG5AbWl4aW4gaW1hZ2Utb3ZlcmxheSgkYW1vdW50OiA5MCUpIHtcclxuICAmW3NyY10sXHJcbiAgaW1nIHtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygkYW1vdW50KTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBkYXJrLWltYWdlLW92ZXJsYXkge1xyXG4gIEBpbmNsdWRlIGltYWdlLW92ZXJsYXkoODAlKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiAtc3ByaXRlLWljb24tYmFja2dyb3VuZC1pbWFnZSgkc3ByaXRlOiBudWxsKSB7XHJcbiAgJC1zcHJpdGUtcGF0aDogLXNwcml0ZS1wYXRoKCRzcHJpdGUpO1xyXG4gIEBpZiAkLXNwcml0ZS1wYXRoIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkLXNwcml0ZS1wYXRoKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAtc3ByaXRlLWljb24tYmFja2dyb3VuZC1wb3NpdGlvbigkaWNvbiwgJHNwcml0ZTogbnVsbCkge1xyXG4gICQtc3ByaXRlLXBvc2l0aW9uOiAtc3ByaXRlLWljb24tcG9zaXRpb24oJGljb24sICRzcHJpdGUpO1xyXG4gIEBpZiAkLXNwcml0ZS1wb3NpdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkLXNwcml0ZS1wb3NpdGlvbjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAtc3ByaXRlLWljb24tbWFzay1pbWFnZSgkc3ByaXRlOiBudWxsKSB7XHJcbiAgJC1zcHJpdGUtcGF0aDogLXNwcml0ZS1wYXRoKCRzcHJpdGUpO1xyXG4gIEBpZiAkLXNwcml0ZS1wYXRoIHtcclxuICAgIG1hc2staW1hZ2U6IHVybCgkLXNwcml0ZS1wYXRoKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAtc3ByaXRlLWljb24tbWFzay1wb3NpdGlvbigkaWNvbiwgJHNwcml0ZTogbnVsbCkge1xyXG4gICQtc3ByaXRlLXBvc2l0aW9uOiAtc3ByaXRlLWljb24tcG9zaXRpb24oJGljb24sICRzcHJpdGUpO1xyXG4gIEBpZiAkLXNwcml0ZS1wb3NpdGlvbiB7XHJcbiAgICBtYXNrLXBvc2l0aW9uOiAkLXNwcml0ZS1wb3NpdGlvbjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiAtc3ByaXRlLWljb24taGVpZ2h0KCRpY29uLCAkc3ByaXRlOiBudWxsKSB7XHJcbiAgJC1zcHJpdGUtaGVpZ2h0OiAtc3ByaXRlLWljb24taGVpZ2h0KCRpY29uLCAkc3ByaXRlKTtcclxuICBAaWYgJC1zcHJpdGUtaGVpZ2h0IHtcclxuICAgIGhlaWdodDogJC1zcHJpdGUtaGVpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIC1zcHJpdGUtaWNvbi13aWR0aCgkaWNvbiwgJHNwcml0ZTogbnVsbCkge1xyXG4gICQtc3ByaXRlLXdpZHRoOiAtc3ByaXRlLWljb24td2lkdGgoJGljb24sICRzcHJpdGUpO1xyXG4gIEBpZiAkLXNwcml0ZS13aWR0aCB7XHJcbiAgICB3aWR0aDogJC1zcHJpdGUtd2lkdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gLXNwcml0ZS1pY29uLWJhY2tncm91bmQoJGljb24sICRzcHJpdGU6IG51bGwpIHtcclxuICBAaW5jbHVkZSAtc3ByaXRlLWljb24tYmFja2dyb3VuZC1pbWFnZSgkc3ByaXRlKTtcclxuICBAaW5jbHVkZSAtc3ByaXRlLWljb24tYmFja2dyb3VuZC1wb3NpdGlvbigkaWNvbiwgJHNwcml0ZSk7XHJcbiAgQGluY2x1ZGUgLXNwcml0ZS1pY29uLXdpZHRoKCRpY29uLCAkc3ByaXRlKTtcclxuICBAaW5jbHVkZSAtc3ByaXRlLWljb24taGVpZ2h0KCRpY29uLCAkc3ByaXRlKTtcclxufVxyXG5cclxuQG1peGluIC1zcHJpdGUtaWNvbi1tYXNrKCRpY29uLCAkc3ByaXRlOiBudWxsKSB7XHJcbiAgQGluY2x1ZGUgLXNwcml0ZS1pY29uLW1hc2staW1hZ2UoJHNwcml0ZSk7XHJcbiAgQGluY2x1ZGUgLXNwcml0ZS1pY29uLW1hc2stcG9zaXRpb24oJGljb24sICRzcHJpdGUpO1xyXG4gIEBpbmNsdWRlIC1zcHJpdGUtaWNvbi13aWR0aCgkaWNvbiwgJHNwcml0ZSk7XHJcbiAgQGluY2x1ZGUgLXNwcml0ZS1pY29uLWhlaWdodCgkaWNvbiwgJHNwcml0ZSk7XHJcbn1cclxuXHJcblxyXG4iLCIvLyBBbGxnZW1laW5lIEVpbnN0ZWxsdW5nZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQGltcG9ydCAnMS1zZXR0aW5ncy9zZXR0aW5ncyc7XHJcblxyXG4vLyBGdW5rdGlvbmVuIHVuZCBNaXhpbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQGltcG9ydCAnMi10b29scy9mdW5jdGlvbnMnO1xyXG5AaW1wb3J0ICcyLXRvb2xzL21peGlucyc7XHJcbkBtZWRpYSAjeyRtZWRpYS1sYXJnZX0ge1xyXG4gIEBpbXBvcnQgJzItdG9vbHMvZXh0ZW5kYWJsZXMnO1xyXG4gIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcclxuICBcbkBpbXBvcnQgXCIzLWVsZW1lbnRzL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtMy1mYWt0ZW4tYm94L19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtNTAtZ3J1ZW5kZS9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLWFjY29yZGlvbi9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLWFrdGl2LWJvbnVzLWJlaXNwaWVsL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtYWt0aXYtYm9udXMtaXRlbS9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLWFydGljbGUvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1hdXRvc3VnZ2VzdC9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLWF3YXJkcy12Mi9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLWF3YXJkcy9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLWJveC1saXN0L19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtYnJlYWRjcnVtYi9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLWNhcmQtc2xpZGVyL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtY2FyZC9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLWNoZWNrbGlzdGUvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1jb21wZXRlbmNlL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtY3RhL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtZGlhbG9nLXBvcHVwL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtZm9vdGVyL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtaGVhZGxpbmUvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1rdW5kZW5zZXJ2aWNlL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtbGluay1saXN0L19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtbWVtYmVyc2hpcC9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLW1vYmlsZS1uYXYvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1tb2R1bGUvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1tb3N0LWltcG9ydGFudC9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLW11dHRlcnNjaHV0emZyaXN0ZW5yZWNobmVyL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtbmF2LXByaW1hcnkvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1uZXdzLWNhcmQvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1uZXdzL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtcG9zc2liaWxpdGllcy9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXByZXZpZXcvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1yYXRpbmcvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1yZXBvcnQtYm94L19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2Mtc2VhcmNoLWZhY2V0cy1maWx0ZXIvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1zZWFyY2gtcXVpY2tsaW5rcy9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXNlYXJjaHJlc3VsdC9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXNlcnZpY2VzZWFyY2gvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy1zbGlkZXNob3ctbmF2aWdhdGlvbi9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXNvY2lhbC9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXN0YWdlL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2Mtc3RlcC1ieS1zdGVwL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2Mtc3RpY2t5LWZhcS9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXN0aWNreS1uYXYvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy10ZWFzZXItc2xpZGVyL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtdGVhc2VyL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtdG9nZ2xlLWZhcS9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXRvcC1zZXJ2aWNlcy9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXRvcC10ZWFzZXIvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy11bWZyYWdlL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNC1jb21wb25lbnRzL2MtdXNwLWJhci9fbGFyZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIjQtY29tcG9uZW50cy9jLXZlcnRlaWxlcmthY2hlbG4vX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvYy12b3J0ZWlsc3JlY2huZXIvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvZm9ybXVsYXIvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvbC1jb250ZW50LXdyYXBwZXIvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvbC1jdXRvdXQvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvbC1oZWFkZXIvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvbGlnaHRib3gvX2xhcmdlLnNjc3NcIjtcbkBpbXBvcnQgXCI0LWNvbXBvbmVudHMvc3RydWN0dXJlL19sYXJnZS5zY3NzXCI7XG5AaW1wb3J0IFwiNS1oZWxwZXJzL3otaW5kZXgvX2xhcmdlLnNjc3NcIjtcbiAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGNsZWFuLWltcG9ydC1wYXRoc1xyXG59XHJcbiIsIi8vIExlZ2VuZCAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmxlZ2VuZDpub3QoW2NsYXNzXSksIC5sZWdlbmQge1xyXG4gIEBpbmNsdWRlIGdldC1oZWFkZXItc3R5bGVzKGxhcmdlLCBoMik7XHJcbn1cclxuXHJcbiIsIi8qKlxuICogQHBhcmFtICRicmVha3BvaW50IGUuZy4geGxhcmdlXG4gKiBAcGFyYW0gJGhlYWRlclNpemUgZS5nLiBoMlxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLyoqXG4gICAqIEBwYXJhbSAkYnJlYWtwb2ludCBlLmcuIHhsYXJnZVxuICAgKiBAcGFyYW0gJGhlYWRlclNpemUgZS5nLiBoMlxuICAgKi9cbiAgbGVnZW5kOm5vdChbY2xhc3NdKSwgLmxlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuICAuYy0zLWZha3Rlbi1ib3ggLmMtMy1mYWt0ZW4tYm94LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogLTE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IHVuc2V0O1xuICB9XG4gIC5jLTMtZmFrdGVuLWJveCAuYy0zLWZha3Rlbi1ib3gtaW1hZ2UgPiBwaWN0dXJlLCAuYy0zLWZha3Rlbi1ib3ggLmMtMy1mYWt0ZW4tYm94LWltYWdlIGltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuYy0zLWZha3Rlbi1ib3ggLmMtMy1mYWt0ZW4tYm94LXdyYXBwZXIge1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDMuMXJlbTtcbiAgfVxuICAuYy0zLWZha3Rlbi1ib3ggLmMtMy1mYWt0ZW4tYm94LXdyYXBwZXIgLmMtMy1mYWt0ZW4tYm94LWl0ZW06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIC5jLTMtZmFrdGVuLWJveCAuYy0zLWZha3Rlbi1ib3gtd3JhcHBlciAuYy0zLWZha3Rlbi1ib3gtaXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLmMtMy1mYWt0ZW4tYm94IC5jLTMtZmFrdGVuLWJveC13cmFwcGVyIC5jLTMtZmFrdGVuLWJveC1pdGVtID4gZGl2OmZpcnN0LW9mLXR5cGUgPiAuYy0zLWZha3Rlbi1maWVsZC1jb250ZW50IHtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICB9XG4gICNtYWluIC5jLTUwLWdydWVuZGUgLmMtemllbGdydXBwZV9fdHlwZTo6YmVmb3JlIHtcbiAgICBsZWZ0OiA1LjFyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cbiAgLmMtNTAtZ3J1ZW5kZSAuYy16aWVsZ3J1cHBlLmFjdGl2ZS1jb250cm9sIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmMtNTAtZ3J1ZW5kZSAuYy16aWVsZ3J1cHBlLmFjdGl2ZS1jb250cm9sIC5jLXppZWxncnVwcGVfX3R5cGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC5jLTUwLWdydWVuZGUgLmMtemllbGdydXBwZS5hY3RpdmUtY29udHJvbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogMnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG4gIC5jLTUwLWdydWVuZGVfX3ppZWxncnVwcGVuIHtcbiAgICBwYWRkaW5nOiA0LjVyZW0gMDtcbiAgfVxuICAuYy01MC1ncnVlbmRlX19ncnVlbmRlIHtcbiAgICAtLWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIH1cbiAgLmMtNTAtZ3J1ZW5kZV9fYmVzY2hyZWlidW5nIHtcbiAgICAtLWJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgIHBhZGRpbmc6IDMuNXJlbSAzLjVyZW0gNXJlbSAyLjVyZW07XG4gIH1cbiAgLmMtNTAtZ3J1ZW5kZSAuYy1ncnVuZF9faGVhZGxpbmUsIC5jLTUwLWdydWVuZGUgLmMtZ3J1bmRfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG4gIC5jLWFjY29yZGlvbiB7XG4gICAgLS1mb250LXNpemU6IDEuNnJlbTtcbiAgfVxuICAuYy1hY2NvcmRpb24tY29udGFpbmVyOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgfVxuICAuYy1hY2NvcmRpb24tdGl0bGUgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbSAxLjVyZW0gMS41cmVtO1xuICB9XG4gIC5jLWFjY29yZGlvbi10aXRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDMuOXJlbTtcbiAgfVxuICAuYy1ha3Rpdi1ib251cy1iZWlzcGllbCAuaW1nLXdyYXBwZXIge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG1heC13aWR0aDogOTAlO1xuICB9XG4gIC5jLWFrdGl2LWJvbnVzLWJlaXNwaWVsIC5pbWctd3JhcHBlciArIC5jLWFrdGl2LWJvbnVzLWJlaXNwaWVsX19jYXJkIHtcbiAgICBtYXJnaW4tdG9wOiAtMTUwcHg7XG4gIH1cbiAgLmMtYWt0aXYtYm9udXMtYmVpc3BpZWxfX2NhcmQge1xuICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgd2lkdGg6IHVuc2V0O1xuICAgIG1hcmdpbi1pbmxpbmU6IDNyZW0gM3JlbTtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgfVxuICAuc2xpZGUtd3JhcHBlcjpub3QoOmhhcyguaW1nLXdyYXBwZXIpKSAuYy1ha3Rpdi1ib251cy1iZWlzcGllbF9fY2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuYy1ha3Rpdi1ib251cy1iZWlzcGllbCAuYy1zbGlkZXNob3ctbmF2aWdhdGlvbl9fYnV0dG9uIHtcbiAgICAtLWlubGluZS1wb3NpdGlvbjogLTVyZW07XG4gIH1cbiAgLmMtYWt0aXYtYm9udXMtaXRlbV9faGVhZGxpbmUge1xuICAgIC0tbGluZS1oZWlnaHQ6IDEuNjtcbiAgfVxuICAuYy1zZXJ2aWNlc2VhcmNoIC5jLWF1dG9zdWdnZXN0X19kZXNjcmlwdGlvbiB7XG4gICAgLS10b3Atb2Zmc2V0LWRlc2NyaXB0aW9uOiA3MHB4O1xuICB9XG4gIC5jLXN0YWdlIC5jLWF1dG9zdWdnZXN0X19kZXNjcmlwdGlvbiB7XG4gICAgLS10b3Atb2Zmc2V0LWRlc2NyaXB0aW9uOiA3MHB4O1xuICB9XG4gIC5jLWF3YXJkcy12Mi13cmFwcGVyID4gLmMtYXdhcmRzLXYyLWZpZWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gIH1cbiAgLmMtYXdhcmRzLXYyLXdyYXBwZXIgPiAuYy1hd2FyZHMtdjItZmllbGQuaXNMYXN0SW5Sb3csIC5jLWF3YXJkcy12Mi13cmFwcGVyID4gLmMtYXdhcmRzLXYyLWZpZWxkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgfVxuICAuYy1hd2FyZHMtdjItd3JhcHBlciA+IC5jLWF3YXJkcy12Mi1maWVsZCA+IC5jLWF3YXJkcy12Mi1pbWFnZSA+IGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmMtYXdhcmRzX19saXN0IHtcbiAgICBtYXJnaW46IDIuNnJlbSAwIDUuNnJlbTtcbiAgfVxuICAuYy1hd2FyZHNfX2xpc3RfX2l0ZW0gKyAuYy1hd2FyZHNfX2l0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjNyZW07XG4gIH1cbiAgLmMtYm94LWxpc3Qge1xuICAgIHBhZGRpbmc6IDVyZW07XG4gIH1cbiAgLmMtYm94LWxpc3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XG4gICAgZ2FwOiAyMHB4O1xuICB9XG4gIC5jLWJveC1saXN0X190ZXJtIHtcbiAgICBmbGV4OiAwIDEgY2FsYygoMTAwJSAtIDIwcHgpIC8gMik7XG4gIH1cbiAgLmMtYm94LWxpc3RfX2RlZmluaXRpb24ge1xuICAgIGZsZXg6IDAgMSBjYWxjKCgxMDAlIC0gMjBweCkgLyAyKTtcbiAgfVxuICAuYy1icmVhZGNydW1iLmMtbW9kdWxlLS1nYXAge1xuICAgIC0tbW9kdWxlLWdhcC10b3A6IDNyZW07XG4gICAgLS1tb2R1bGUtZ2FwLWJvdHRvbTogN3JlbTtcbiAgfVxuICAuYy1jYXJkLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgd2lkdGg6IGNhbGMoKCgxMDAlICsgMmVtKSAvIDEyICogOCkgLSAyZW0gKyAyZW0gKiAxKTtcbiAgfVxuICAuYy1jYXJkLXNsaWRlcl9fc2xpZGUge1xuICAgIG1hcmdpbjogMCAxMnB4IDEycHg7XG4gICAgbWluLWhlaWdodDogMjEzcHg7XG4gIH1cbiAgLmMtY2FyZC1zbGlkZXJfX3RpdGxlIHtcbiAgICBtYXJnaW46IGF1dG8gMjBweCAyN3B4IDE1cHg7XG4gIH1cbiAgLmMtY2FyZC1zbGlkZXJfX3N2ZyBzdmcge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiA3MHB4O1xuICB9XG4gIC5jLWNhcmQge1xuICAgIC0taWNvbi1zaXplOiA0LjVyZW07XG4gICAgLS1ib3gtcGFkZGluZzogMy42cmVtIDEuNnJlbSAyLjlyZW0gMi41cmVtO1xuICAgIC0tYm94LW1hcmdpbjogM3JlbSAwIDdyZW07XG4gIH1cbiAgLmMtY2FyZF9faGVhZGxpbmUsIC5jLWNhcmRfX3RleHQge1xuICAgIG1hcmdpbi1yaWdodDogMC43cmVtO1xuICB9XG4gIC5jLWNhcmRfX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuYy1jYXJkX19pY29uIHN2ZyB7XG4gICAgbWF4LXdpZHRoOiAxcmVtO1xuICAgIG1heC1oZWlnaHQ6IDJyZW07XG4gIH1cbiAgLmMtY2hlY2tsaXN0ZSAuYy1jaGVja2xpc3RlLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDMuMXJlbSAxLjVyZW0gMCAxLjVyZW07XG4gIH1cbiAgLmMtY2hlY2tsaXN0ZSAuYy1jaGVja2xpc3RlLXdyYXBwZXIgPiAuYy1jaGVja2xpc3RlLWl0ZW06OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xuICB9XG4gIC5jLWNvbXBldGVuY2Uge1xuICAgIC0taWNvbi1zaXplOiA0LjVyZW07XG4gICAgLS1ib3gtcGFkZGluZzogMy43cmVtIDIuN3JlbSAzLjNyZW07XG4gICAgLS1pY29uLW1hcmdpbi10b3A6IDJyZW07XG4gICAgLS1oZWFkbGluZS1zaXplOiAycmVtO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMi41cmVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbiAgLmMtY29tcGV0ZW5jZV9faGVhZGxpbmUge1xuICAgIG1pbi1oZWlnaHQ6IDUuOHJlbTtcbiAgfVxuICAuYy1jdGFfX3dyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiA1NnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4M3B4O1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigtMTAwdncgMCUsIDEwMHZ3IDAlLCAxMDB2dyBjYWxjKDEwMCUgLSAxNnB4KSwgY2FsYygxMDAlIC0gMTYycHgpIGNhbGMoMTAwJSAtIDE2cHgpLCBjYWxjKDEwMCUgLSAxNjJweCkgMTAwJSwgLTEwMHZ3IDEwMCUpO1xuICB9XG4gIC5jLWN0YV9fd3JhcHBlci1pY29uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICAuYy1jdGFfX3dyYXBwZXItaWNvbiBpbWcsXG4gIC5jLWN0YV9fd3JhcHBlci1pY29uIHN2ZyB7XG4gICAgbWF4LXdpZHRoOiA2OHB4O1xuICAgIG1heC1oZWlnaHQ6IDczcHg7XG4gIH1cbiAgLmMtY3RhX193cmFwcGVyLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLmMtY3RhX193cmFwcGVyLXRleHQgLmMtaGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5jLWN0YV9fd3JhcHBlci10ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG4gIC5jLWN0YV9fd3JhcHBlci1mb3JtIC5mb3JtRmllbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmMtY3RhX193cmFwcGVyLWZvcm0gaW5wdXQsIC5jLWN0YV9fd3JhcHBlci1saW5rIGlucHV0IHtcbiAgICBmbGV4OiAxIDAgMDtcbiAgfVxuICAuYy1jdGFfX3dyYXBwZXItZm9ybSBpbnB1dC5zdWJtaXQsXG4gIC5jLWN0YV9fd3JhcHBlci1mb3JtIGJ1dHRvbi5zdWJtaXQsIC5jLWN0YV9fd3JhcHBlci1saW5rIGlucHV0LnN1Ym1pdCxcbiAgLmMtY3RhX193cmFwcGVyLWxpbmsgYnV0dG9uLnN1Ym1pdCB7XG4gICAgd2lkdGg6IDMwN3B4O1xuICB9XG4gIC5jLWN0YS0tcmVjaG5lciAuYy1jdGFfX3dyYXBwZXItaWNvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIycHgpO1xuICB9XG4gIC5jLWRpYWxvZy1wb3B1cCBkaWFsb2cge1xuICAgIC0tZGlhbG9nLXdpZHRoOiA2Mi41cmVtO1xuICAgIC0tY2xvc2UtYnV0dG9uLXNpemU6IDRyZW07XG4gICAgLS1kaWFsb2ctbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAtLWRpYWxvZy1wYWRkaW5nOiA0cmVtO1xuICAgIC0tZGlhbG9nLWNvbnRlbnQtbWFyZ2luLXRvcDogMDtcbiAgfVxuICAuYy1kaWFsb2ctcG9wdXAgZGlhbG9nIC5jLWRpYWxvZy1wb3B1cF9fZGlhbG9naGFuZGxlIC5jLWRpYWxvZy1wb3B1cF9fY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRvcDogY2FsYygwJSAtIHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKSAvIDIgLSB2YXIoLS1jbG9zZS1idXR0b24tYm9yZGVyLXNpemUpKTtcbiAgICByaWdodDogY2FsYygwJSAtIHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKSAvIDIgLSB2YXIoLS1jbG9zZS1idXR0b24tYm9yZGVyLXNpemUpKTtcbiAgfVxuICAuYy1mb290ZXIge1xuICAgIHBhZGRpbmc6IDAgMi44ZW0gdmFyKC0tYmFzZS1tb2R1bGUtZ2FwLWJvdHRvbSk7XG4gIH1cbiAgLmMtZm9vdGVyX19zb2NpYWw6OmFmdGVyLCAuYy1mb290ZXJfX3NpdGVpbmZvOjphZnRlciwgLmMtZm9vdGVyX19hd2FyZHM6OmFmdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjRweCk7XG4gICAgbGVmdDogMTJweDtcbiAgfVxuICAuYy1mb290ZXJfX3NpdGVpbmZvIC5jLWZvb3Rlcl9fbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG4gIC5jLWZvb3Rlcl9fc2l0ZWluZm8gLmMtZm9vdGVyX19saXN0IC5jLWZvb3Rlcl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZ2UtYnJlYWstYmVmb3JlOiBhdXRvO1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF1dG87XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIC5jLWZvb3Rlcl9fYXdhcmRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICB9XG4gIC5jLWZvb3Rlcl9fYXdhcmRzIC5jLWZvb3Rlcl9faGVhZGxpbmUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbiAgLmMtZm9vdGVyX19oZWFkbGluZSB7XG4gICAgbWFyZ2luLXRvcDogMjJweDtcbiAgfVxuICAuYy1mb290ZXJfX2luZm8gLmMtZm9vdGVyX19saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxOXB4O1xuICB9XG4gIC5jLWZvb3Rlcl9faW5mbyAuYy1mb290ZXJfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmMtZm9vdGVyX19jb3B5cmlnaHQgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jLWZvb3Rlcl9faXRlbSBzdHJvbmcsIC5jLWZvb3Rlcl9faW5uZXJpdGVtIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbiAgaDEuYy1oZWFkbGluZSwgLmgxLmMtaGVhZGxpbmUsXG4gIDp3aGVyZSguc3RhcnRzZWl0ZSkgLmMtYXJ0aWNsZSBoMi5jLWhlYWRsaW5lLCA6d2hlcmUoLnN0YXJ0c2VpdGUpIC5jLWFydGljbGUgLmgyLmMtaGVhZGxpbmUge1xuICAgIC0tZm9udC1zaXplOiA0cmVtO1xuICB9XG4gIGgxLmMtaGVhZGxpbmUgLmMtaGVhZGxpbmVfX2lubmVyLCAuaDEuYy1oZWFkbGluZSAuYy1oZWFkbGluZV9faW5uZXIsXG4gIDp3aGVyZSguc3RhcnRzZWl0ZSkgLmMtYXJ0aWNsZSBoMi5jLWhlYWRsaW5lIC5jLWhlYWRsaW5lX19pbm5lciwgOndoZXJlKC5zdGFydHNlaXRlKSAuYy1hcnRpY2xlIC5oMi5jLWhlYWRsaW5lIC5jLWhlYWRsaW5lX19pbm5lciB7XG4gICAgLS1ib3gtc2hhZG93LXNwcmVhZC1yYWRpdXM6IDExcHg7XG4gIH1cbiAgaDEuYy1oZWFkbGluZS5jLWhlYWRsaW5lLS1icmVha291dCwgLmgxLmMtaGVhZGxpbmUuYy1oZWFkbGluZS0tYnJlYWtvdXQsXG4gIDp3aGVyZSguc3RhcnRzZWl0ZSkgLmMtYXJ0aWNsZSBoMi5jLWhlYWRsaW5lLmMtaGVhZGxpbmUtLWJyZWFrb3V0LCA6d2hlcmUoLnN0YXJ0c2VpdGUpIC5jLWFydGljbGUgLmgyLmMtaGVhZGxpbmUuYy1oZWFkbGluZS0tYnJlYWtvdXQge1xuICAgIC0tcGFkZGluZy1ibG9jay1zdGFydDogNC4ycmVtO1xuICAgIC0tbWFyZ2luLWJsb2NrLWVuZDogM3JlbTtcbiAgICAtLW1hcmdpbi1pbmxpbmUtc3RhcnQ6IDEuMnJlbTtcbiAgICAtLXRleHQtaW5kZW50OiAtMS41cmVtO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLW1hcmdpbi1pbmxpbmUtc3RhcnQpO1xuICAgIHRleHQtaW5kZW50OiB2YXIoLS10ZXh0LWluZGVudCk7XG4gIH1cbiAgLmMta3VuZGVuc2VydmljZSB7XG4gICAgLS10b3AtaXRlbS1oZWFkbGluZS1tYXJnaW46IDE1LjRyZW07XG4gIH1cbiAgLmMta3VuZGVuc2VydmljZV9faXRlbSAuaDMge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICAuYy1saW5rLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbiAgLmMtbWVtYmVyc2hpcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgfVxuICAuYy1tZW1iZXJzaGlwX193cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODNweDtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oLTEwMHZ3IDAlLCAxMDB2dyAwJSwgMTAwdncgY2FsYygxMDAlIC0gMTZweCksIGNhbGMoMTAwJSAtIDE2MnB4KSBjYWxjKDEwMCUgLSAxNnB4KSwgY2FsYygxMDAlIC0gMTYycHgpIDEwMCUsIC0xMDB2dyAxMDAlKTtcbiAgfVxuICAuYy1tZW1iZXJzaGlwX193cmFwcGVyLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLmMtbWVtYmVyc2hpcF9fd3JhcHBlci10ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG4gIC5jLW1lbWJlcnNoaXBfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5jLW1lbWJlcnNoaXBfX3dyYXBwZXItZm9ybSAuZm9ybUZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5jLW1lbWJlcnNoaXBfX3dyYXBwZXItZm9ybSBpbnB1dCB7XG4gICAgbWFyZ2luOiAxOHB4IDQ1cHggMTRweCAzNXB4O1xuICAgIGZsZXg6IDEgMCAwO1xuICB9XG4gIC5jLW1lbWJlcnNoaXBfX3dyYXBwZXItZm9ybSBpbnB1dC5zdWJtaXQsXG4gIC5jLW1lbWJlcnNoaXBfX3dyYXBwZXItZm9ybSBidXR0b24uc3VibWl0IHtcbiAgICB3aWR0aDogMzA3cHg7XG4gIH1cbiAgLmMtbW9iaWxlLW5hdiB7XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIC0tdGV4dC1jb2xvcjogIzJBMzYzQjtcbiAgICAtLXRleHQtaGlnaGxpZ2h0ZWQ6ICNBRTEzMEY7XG4gICAgLS1saW5rLWNvbG9yOiAjMkEzNjNCO1xuICAgIC0tYm9yZGVyLWNvbG9yOiAjRTNFM0UzO1xuICAgIC0taGVhZGVyLWljb24tY29sb3I6ICMyQTM2M0I7XG4gICAgLS1idXR0b24taWNvbi1jb2xvcjogI0ZGRkZGRjtcbiAgICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjQUUxMzBGO1xuICAgIC0tbGluay1hY3RpdmUtb3V0bGluZS1jb2xvcjogIzJBMzYzQjtcbiAgICAtLWZvY3VzLW91dGxpbmUtY29sb3I6ICMyQTM2M0I7XG4gICAgLS1zdmctZmlsbC1jb2xvcjogIzJBMzYzQjtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHBhZGRpbmc6IDAgNHJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jLW1vYmlsZS1uYXZfX2hlYWRlciB7XG4gICAgaGVpZ2h0OiA3LjRyZW07XG4gIH1cbiAgLmMtbW9iaWxlLW5hdiAuYy1zb2NpYWwge1xuICAgIC0tbGluay1kZWNvcmF0aW9uLWNvbG9yOiAjMkEzNjNCO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmMtbW9iaWxlLW5hdiAuYy1zb2NpYWxfX2hlYWRsaW5lIHtcbiAgICAtLW1hcmdpbi1ib3R0b206IDEuM3JlbTtcbiAgfVxuICAuYy1tb2JpbGUtbmF2IC5jLXNvY2lhbF9fbGluayBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jLW1vYmlsZS1uYXYgLmMtc29jaWFsX19saW5rLXN2ZyB7XG4gICAgd2lkdGg6IDQuMnJlbTtcbiAgICBoZWlnaHQ6IDQuMnJlbTtcbiAgfVxuICAuYy1tb2JpbGUtbmF2IC5jLXNvY2lhbF9fbGluay1zdmc6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDQuMnJlbTtcbiAgICBoZWlnaHQ6IDQuMnJlbTtcbiAgfVxuICAuYy1tb2JpbGUtbmF2X19sYW5nIHVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogMjBweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgb3V0bGluZS1vZmZzZXQ6IGNhbGMoMjBweCAqIC0xKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLXVybC1xdW90ZXMgKi9cbiAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9pY29ucy9zcHJpdGUuc3ZnXCIpO1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tdXJsLXF1b3RlcyAqL1xuICAgIG1hc2stcG9zaXRpb246IC0xMzA1cHggLTUwcHg7XG4gIH1cbiAgLmMtbW9iaWxlLW5hdl9faXRlbSA+IGEsXG4gIC5jLW1vYmlsZS1uYXZfX2l0ZW0gPiBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICB9XG4gIC5jLW1vYmlsZS1uYXZfX2l0ZW0tLWJhY2sge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICB9XG4gIC5jLW1vYmlsZS1uYXZfX2l0ZW0gLmMtbW9iaWxlLW5hdl9fYnV0dG9uIHtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjRUVFRUVFO1xuICAgIHdpZHRoOiAzLjhyZW07XG4gICAgaGVpZ2h0OiAzLjhyZW0gIWltcG9ydGFudDtcbiAgfVxuICAuYy1tb2JpbGUtbmF2X19pdGVtIC5jLW1vYmlsZS1uYXZfX2J1dHRvbiBzdmcge1xuICAgIG1heC1oZWlnaHQ6IDEuNThyZW07XG4gIH1cbiAgLmMtbW9iaWxlLW5hdl9faXRlbSAuYy1tb2JpbGUtbmF2X19idXR0b24tLWJhY2sge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4ycmVtO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5jLW1vYmlsZS1uYXZfX2l0ZW0gLmMtbW9iaWxlLW5hdl9fYnV0dG9uLS1iYWNrOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogMjBweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgb3V0bGluZS1vZmZzZXQ6IGNhbGMoMjBweCAqIC0xKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmlsdGVyOiBub25lO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLXVybC1xdW90ZXMgKi9cbiAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9pY29ucy9zcHJpdGUuc3ZnXCIpO1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tdXJsLXF1b3RlcyAqL1xuICAgIG1hc2stcG9zaXRpb246IC0xMTgxcHggLTc4MnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICB9XG4gIC5jLW1vYmlsZS1uYXZfX21lbWJlcmJ1dHRvbiAuYy1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG4gIH1cbiAgLmMtbW9iaWxlLW5hdl9fbWV0YS5uYXZTZXJ2aWNlR1MgYTo6YmVmb3JlLFxuICAuYy1tb2JpbGUtbmF2X19tZXRhLm5hdlNlcnZpY2VHUyBzdHJvbmc6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdXRsaW5lOiAyNnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldDogY2FsYygyNnB4ICogLTEpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tdXJsLXF1b3RlcyAqL1xuICAgIG1hc2staW1hZ2U6IHVybChcIi4uL2ljb25zL3Nwcml0ZS5zdmdcIik7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSBmdW5jdGlvbi11cmwtcXVvdGVzICovXG4gICAgbWFzay1wb3NpdGlvbjogLTMwMHB4IC0xMDU1cHg7XG4gICAgdG9wOiAtNnB4O1xuICAgIGxlZnQ6IC0ycHg7XG4gIH1cbiAgLmMtbW9iaWxlLW5hdl9fbWV0YS5uYXZTZXJ2aWNlTFMgYTo6YmVmb3JlLFxuICAuYy1tb2JpbGUtbmF2X19tZXRhLm5hdlNlcnZpY2VMUyBzdHJvbmc6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBvdXRsaW5lOiAxOHB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldDogY2FsYygxOHB4ICogLTEpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmaWx0ZXI6IG5vbmU7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tdXJsLXF1b3RlcyAqL1xuICAgIG1hc2staW1hZ2U6IHVybChcIi4uL2ljb25zL3Nwcml0ZS5zdmdcIik7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSBmdW5jdGlvbi11cmwtcXVvdGVzICovXG4gICAgbWFzay1wb3NpdGlvbjogLTEzMDVweCAtNDA5cHg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmMtbW9iaWxlLW5hdl9fbWV0YS5uYXZTZXJ2aWNlTFM6OmJlZm9yZSB7XG4gICAgbGVmdDogNHJlbTtcbiAgICByaWdodDogNHJlbTtcbiAgfVxuICAuYy1tb2R1bGUtLWdhcCB7XG4gICAgLS1iYXNlLW1vZHVsZS1nYXAtdG9wOiA2cmVtO1xuICAgIC0tYmFzZS1tb2R1bGUtZ2FwLWJvdHRvbTogNy4zcmVtO1xuICAgIC0tbW9kdWxlLWdhcC10b3A6IDZyZW07XG4gICAgLS1tb2R1bGUtZ2FwLWJvdHRvbTogNy4zcmVtO1xuICB9XG4gIC5jLW1vc3QtaW1wb3J0YW50X193cmFwcGVyIC5jLW1vc3QtaW1wb3J0YW50X19pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzMnJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmMtbW9zdC1pbXBvcnRhbnRfX3dyYXBwZXIgLmMtbW9zdC1pbXBvcnRhbnRfX2ltYWdlID4gaW1nIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmMtbW9zdC1pbXBvcnRhbnRfX3dyYXBwZXIgLmMtbW9zdC1pbXBvcnRhbnRfX2NvbnRyb2xzIHtcbiAgICBtYXJnaW4tdG9wOiAzLjRyZW07XG4gIH1cbiAgLmMtbXV0dGVyc2NodXR6ZnJpc3RlbnJlY2huZXJfX3Jlc3VsdENvbnRhaW5lciA+IC5jLW11dHRlcnNjaHV0emZyaXN0ZW5yZWNobmVyX19yZXN1bHRJbm5lckNvbnRhaW5lciA+IC5jLW11dHRlcnNjaHV0emZyaXN0ZW5yZWNobmVyX19yZXN1bHQgPiAucmVzdWx0LWVuZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAuYy1tdXR0ZXJzY2h1dHpmcmlzdGVucmVjaG5lcl9fcmVzdWx0Q29udGFpbmVyID4gLmMtbXV0dGVyc2NodXR6ZnJpc3RlbnJlY2huZXJfX3Jlc3VsdElubmVyQ29udGFpbmVyID4gLmMtbXV0dGVyc2NodXR6ZnJpc3RlbnJlY2huZXJfX3Jlc3VsdCA+IC5yZXN1bHQtZW5kID4gZGl2IHtcbiAgICBtYXgtd2lkdGg6IDQ4JTtcbiAgfVxuICAuYy1uYXYtcHJpbWFyeSB7XG4gICAgLS1uYXYtcHJpbWFyeS1oZWlnaHQ6IDcuM3JlbTtcbiAgfVxuICAuYy1uYXYtcHJpbWFyeV9fYWRkaXRpb25hbC1saXN0IHtcbiAgICAtLW5hdi1wcmltYXJ5LWl0ZW0taW5saW5lLWdhcDogMS4xcmVtO1xuICB9XG4gIC5jLW5hdi1wcmltYXJ5X19pdGVtLS1taXRnbGllZC13ZXJkZW4gLmMtbmF2LXByaW1hcnlfX2J1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbiAgLmMtbmF2LXByaW1hcnlfX2J1dHRvbiB7XG4gICAgLS1idXR0b24tcGFkZGluZzogMS4ycmVtIDIuNjVyZW0gMTEuNHJlbTtcbiAgfVxuICAuYy1uYXYtcHJpbWFyeV9faWNvbi1saW5rIHN2ZyB7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgfVxuICAuYy1uZXdzLWNhcmRfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDE1cHggMTVweCAwO1xuICB9XG4gIC5jLW5ld3MtY2FyZF9fY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbiAgLmMtbmV3cy1jYXJkX19jb250ZW50IHAge1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIH1cbiAgLmMtbmV3c19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICB9XG4gIC5jLW5ld3NfX2l0ZW06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jLW5ld3NfX2l0ZW0gLmMtbmV3cy1jYXJkX193cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgfVxuICAuYy1wb3NzaWJpbGl0aWVzIHtcbiAgICAtLXRleHQtc2l6ZTogMS44cmVtO1xuICB9XG4gIC5jLXBvc3NpYmlsaXRpZXNfX3NlZ21lbnRUaXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4zcmVtO1xuICB9XG4gIC5jLXBvc3NpYmlsaXRpZXNfX3dyYXBwZXIgPiAuYy1wb3NzaWJpbGl0aWVzX19pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAuYy1wb3NzaWJpbGl0aWVzX193cmFwcGVyID4gLmMtcG9zc2liaWxpdGllc19faXRlbTpudGgtb2YtdHlwZShuKzQpIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgfVxuICAuYy1wb3NzaWJpbGl0aWVzX193cmFwcGVyID4gLmMtcG9zc2liaWxpdGllc19faXRlbSA+IC5jLXBvc3NpYmlsaXRpZXNfX2l0ZW1XcmFwcGVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG4gICAgcGFkZGluZzogMCAxLjZyZW0gMCAyLjVyZW07XG4gIH1cbiAgLmMtcG9zc2liaWxpdGllc19fd3JhcHBlciA+IC5jLXBvc3NpYmlsaXRpZXNfX2l0ZW0gPiAuYy1wb3NzaWJpbGl0aWVzX19pdGVtV3JhcHBlciA+IC5jLXBvc3NpYmlsaXRpZXNfX2l0ZW1JY29uQXJlYSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgaGVpZ2h0OiA5LjFyZW07XG4gICAgbWF4LWhlaWdodDogOS4xcmVtO1xuICB9XG4gIC5jLXBvc3NpYmlsaXRpZXNfX3dyYXBwZXIgPiAuYy1wb3NzaWJpbGl0aWVzX19pdGVtID4gLmMtcG9zc2liaWxpdGllc19faXRlbVdyYXBwZXIgPiAuYy1wb3NzaWJpbGl0aWVzX19pdGVtSWNvbkFyZWEgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB9XG4gIC5jLXBvc3NpYmlsaXRpZXNfX3dyYXBwZXIgPiAuYy1wb3NzaWJpbGl0aWVzX19pdGVtID4gLmMtcG9zc2liaWxpdGllc19faXRlbVdyYXBwZXIgPiAuYy1wb3NzaWJpbGl0aWVzX19pdGVtQ29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICB9XG4gIC5jLXBvc3NpYmlsaXRpZXNfX3dyYXBwZXIgPiAuYy1wb3NzaWJpbGl0aWVzX19pdGVtID4gLmMtcG9zc2liaWxpdGllc19faXRlbVdyYXBwZXIgPiAuYy1wb3NzaWJpbGl0aWVzX19pdGVtQ29udGVudCA+IHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuYy1wb3NzaWJpbGl0aWVzX193cmFwcGVyID4gLmMtcG9zc2liaWxpdGllc19faXRlbSA+IC5jLXBvc3NpYmlsaXRpZXNfX2l0ZW1XcmFwcGVyID4gLmMtcG9zc2liaWxpdGllc19faXRlbUxpbmsge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiAzO1xuICB9XG4gIC5wcmV2aWV3aGludCAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnByZXZpZXdoaW50IC5jb2x1bW46bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuYy1yYXRpbmdfX2Zvcm1IYW5kbGUgLnN1Ym1pdCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmMtcmF0aW5nX190aHVtYnMgLmZvcm1MYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuICAuYy1yZXBvcnQtYm94IHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICB9XG4gIC5jLXJlcG9ydC1ib3gtYmFkZ2Uge1xuICAgIC0tYmFkZ2UtcG9zaXRpb24tcmlnaHQ6IDEuMnJlbTtcbiAgfVxuICAuYy1yZXBvcnQtYm94LWJhZGdlX19jb3VudGVyIHtcbiAgICB0b3A6IDIuNnJlbTtcbiAgICB3aWR0aDogMS45cmVtO1xuICAgIGhlaWdodDogMS45cmVtO1xuICB9XG4gIC5jLW1vYmlsZS1uYXYgLmMtcmVwb3J0LWJveC1iYWRnZSB7XG4gICAgLS1iYWRnZS1wb3NpdGlvbi1yaWdodDogMC4xcmVtO1xuICB9XG4gIC5jLW1vYmlsZS1uYXYgLmMtcmVwb3J0LWJveC1iYWRnZV9fY291bnRlciB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5jLXNlYXJjaF9fZmFjZXQtLXJlc2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5jLXNlYXJjaC0tcmVzZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICB9XG4gIC5jLXNlYXJjaF9fZmFjZXQtLWZpbHRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmMtc2VhcmNoX19mYWNldC0tZmlsdGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLmMtc2VhcmNoX19mYWNldC0tZmlsdGVyIHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgfVxuICAuYy1zZWFyY2gtcXVpY2tsaW5rc19faXRlbSB7XG4gICAgbWFyZ2luOiAwIDEuOHJlbSAxLjhyZW0gMCAhaW1wb3J0YW50O1xuICB9XG4gIC5jLXNlYXJjaC1xdWlja2xpbmtzX19saW5rIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgfVxuICAuYy1zZWFyY2hyZXN1bHQtdGVhc2VyX19pbWFnZSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgfVxuICAuYy1zZWFyY2hyZXN1bHQtdGVhc2VyX190ZXh0IHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG4gIC5jLXNlcnZpY2VzZWFyY2gge1xuICAgIC0tYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAtLWNsb3NlLWljb24tY29sb3I6ICMyQTM2M0I7XG4gICAgLS1oZWFkbGluZS1jb2xvcjogIzJBMzYzQjtcbiAgICAtLXRleHQtY29sb3I6ICMyQTM2M0I7XG4gICAgLS1ib3JkZXItY29sb3I6ICMyQTM2M0I7XG4gICAgLS1mb2N1cy1vdXRsaW5lLWNvbG9yLWNsb3NlYnV0dG9uOiAjMDAwMDAwO1xuICAgIC0tZm9jdXMtb3V0bGluZS1jb2xvci1zZWFyY2hpbnB1dDogIzAwMDAwMDtcbiAgICAtLWZvY3VzLW91dGxpbmUtb2Zmc2V0LXNlYXJjaGlucHV0OiAwcmVtO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gIH1cbiAgLmMtc2VydmljZXNlYXJjaF9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjRyZW07XG4gIH1cbiAgLmMtc2VydmljZXNlYXJjaF9fY2xvc2VidXR0b24ge1xuICAgIHRvcDogMi41cmVtO1xuICAgIHJpZ2h0OiAzLjFyZW07XG4gIH1cbiAgLmMtc2VydmljZXNlYXJjaF9fY2xvc2VidXR0b24gc3ZnIHtcbiAgICB3aWR0aDogMi41cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICB9XG4gIC5jLXNlcnZpY2VzZWFyY2hfX2lucHV0IGZpZWxkc2V0IC5zZWFyY2hBdXRvU3VnZ2VzdEJveCB7XG4gICAgdG9wOiA3cmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmMtc2VydmljZXNlYXJjaF9faW5wdXQgZmllbGRzZXQgLnNlYXJjaEF1dG9TdWdnZXN0Qm94IGxpIHtcbiAgICBwYWRkaW5nOiAxcmVtIDMuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jLXNlcnZpY2VzZWFyY2hfX2lucHV0IGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHBhZGRpbmc6IDIuN3JlbSA1LjZyZW0gMS45cmVtIDIuNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5jLXNlcnZpY2VzZWFyY2hfX2lucHV0IGlucHV0W3R5cGU9dGV4dF06OnBsYWNlaG9sZGVyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbiAgLmMtc2VydmljZXNlYXJjaF9faW5wdXQgaW5wdXRbdHlwZT1pbWFnZV0ge1xuICAgIHRvcDogMC4xcmVtO1xuICAgIHJpZ2h0OiAwLjFyZW07XG4gICAgcGFkZGluZzogMi4xcmVtO1xuICAgIGhlaWdodDogN3JlbTtcbiAgICB3aWR0aDogN3JlbTtcbiAgfVxuICAuYy1zbGlkZXNob3ctbmF2aWdhdGlvbl9fYnV0dG9uIHN2ZyB7XG4gICAgbWF4LXdpZHRoOiAxM3B4O1xuICB9XG4gIC5jLXNsaWRlc2hvdy1uYXZpZ2F0aW9uIC5zbGljay1kb3RzIGxpIHtcbiAgICBtYXJnaW46IDAgMTIuNXB4IDVweDtcbiAgfVxuICAuYy1zbGlkZXNob3ctbmF2aWdhdGlvbiAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogNHB4O1xuICB9XG4gIC5jLXNsaWRlc2hvdy1uYXZpZ2F0aW9uLS1kb3RzIC5zbGljay1kb3RzIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmMtdXNwLWJhciAuYy1zbGlkZXNob3ctbmF2aWdhdGlvbiAuc2xpY2stZG90cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5jLWNhcmQtc2xpZGVyIC5jLXNsaWRlc2hvdy1uYXZpZ2F0aW9uIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IC0xMHB4O1xuICB9XG4gIC5jLXNvY2lhbCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAuYy1zb2NpYWxfX2hlYWRsaW5lIHtcbiAgICAtLW1hcmdpbi1ib3R0b206IDEuOHJlbTtcbiAgfVxuICAuYy1zb2NpYWxfX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLmMtc29jaWFsX19saW5rIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuYy1zb2NpYWxfX2xpbmstc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICB9XG4gIC5jLXNvY2lhbF9fbGluay1zdmc6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICB9XG4gIC5jLXNvY2lhbF9fbGluayBzdmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xuICB9XG4gIC5jLXN0YWdlIHtcbiAgICAtLW1lZGlhLWhlaWdodDogNjAuOXJlbTtcbiAgfVxuICAuYy1zdGFnZV9fY29udGFpbmVyIHtcbiAgICAtLWlubGluZS1tYXJnaW46IC0xLjJyZW07XG4gIH1cbiAgLmMtc3RhZ2UgLmMtc3RhZ2VfX3RleHQtd3JhcHBlciB7XG4gICAgbWFyZ2luLWlubGluZTogNHJlbTtcbiAgfVxuICAuYy1zdGFnZS5jLXN0YWdlLS12aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jLXN0YWdlLmMtc3RhZ2UtLXZpZGVvIHZpZGVvIHtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgfVxuICAuYy1zdGFnZS5jLXN0YWdlLS12aWRlbyAuYy1zdGFnZV9fdmlkZW8tY29udHJvbHMge1xuICAgIC0tb2Zmc2V0OiA0cmVtO1xuICB9XG4gIC5jLXN0YWdlLmMtc3RhZ2UtLXZpZGVvLCAuYy1zdGFnZS5jLXN0YWdlLS1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuYy1zdGFnZS5jLXN0YWdlLS12aWRlbzpub3QoLmMtc3RhZ2UtLXNlYXJjaCkgLmMtaGVhZGxpbmUsIC5jLXN0YWdlLmMtc3RhZ2UtLWltYWdlOm5vdCguYy1zdGFnZS0tc2VhcmNoKSAuYy1oZWFkbGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1pbmxpbmU6IDNyZW07XG4gIH1cbiAgLmMtc3RhZ2UuYy1zdGFnZS0tdmlkZW86bm90KC5jLXN0YWdlLS1zZWFyY2gpOm5vdCguYy1zdGFnZS0td2l0aC10ZXh0KSAuYy1oZWFkbGluZSwgLmMtc3RhZ2UuYy1zdGFnZS0taW1hZ2U6bm90KC5jLXN0YWdlLS1zZWFyY2gpOm5vdCguYy1zdGFnZS0td2l0aC10ZXh0KSAuYy1oZWFkbGluZSB7XG4gICAgYm90dG9tOiAzLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5jLXN0YWdlLmMtc3RhZ2UtLXZpZGVvOm5vdCguYy1zdGFnZS0tc2VhcmNoKSAuYy1oZWFkbGluZSwgLmMtc3RhZ2UuYy1zdGFnZS0taW1hZ2U6bm90KC5jLXN0YWdlLS1zZWFyY2gpIC5jLWhlYWRsaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luLWlubGluZTogM3JlbTtcbiAgfVxuICAuYy1zdGFnZS5jLXN0YWdlLS12aWRlbzpub3QoLmMtc3RhZ2UtLXNlYXJjaCk6bm90KC5jLXN0YWdlLS13aXRoLXRleHQpIC5jLWhlYWRsaW5lLCAuYy1zdGFnZS5jLXN0YWdlLS1pbWFnZTpub3QoLmMtc3RhZ2UtLXNlYXJjaCk6bm90KC5jLXN0YWdlLS13aXRoLXRleHQpIC5jLWhlYWRsaW5lIHtcbiAgICBib3R0b206IDMuNXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jLXN0YWdlLmMtc3RhZ2UtLXdpdGgtdGV4dCAuYy1oZWFkbGluZSB7XG4gICAgLS1oZWlnaHQ6IDE1cmVtO1xuICAgIC0tdGV4dC1wb3NpdGlvbjogMTNyZW07XG4gICAgYm90dG9tOiB1bnNldDtcbiAgICB0b3A6IGNhbGModmFyKC0tbWVkaWEtaGVpZ2h0KSAtIHZhcigtLWhlaWdodCkgLSB2YXIoLS10ZXh0LXBvc2l0aW9uKSk7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy1zdGFnZS5jLXN0YWdlLS1zZWFyY2ggLmMtaGVhZGxpbmUge1xuICAgIC0tdGV4dC1wb3NpdGlvbjogMjYuNnJlbTtcbiAgICBtYXJnaW4taW5saW5lOiAzcmVtO1xuICB9XG4gIC5jLXN0YWdlLmMtc3RhZ2UtLXNlYXJjaCAuYy1zdGFnZV9fc2VhcmNoLXdyYXBwZXIge1xuICAgIC0tc2VhcmNoYmFyLXdpZHRoOiA0MS41cmVtO1xuICAgIC0tc2VhcmNoYmFyLXBvc2l0aW9uOiAxNC44cmVtO1xuICAgIG1hcmdpbi1pbmxpbmU6IDNyZW07XG4gIH1cbiAgLmMtc3RhZ2UuYy1zdGFnZS0tc2VhcmNoIC5jLXN0YWdlX19zZWFyY2gtd3JhcHBlciBpbnB1dCxcbiAgLmMtc3RhZ2UuYy1zdGFnZS0tc2VhcmNoIC5jLXN0YWdlX19zZWFyY2gtd3JhcHBlciBidXR0b24ge1xuICAgIC0tc2VhcmNoYmFyLWhlaWdodDogN3JlbTtcbiAgICAtLXNlYXJjaGJhci1mb250LXNpemU6IDEuOHJlbTtcbiAgfVxuICAuYy1zdGFnZS5jLXN0YWdlLS1zZWFyY2guYy1zdGFnZS0taW1hZ2UuYy1zdGFnZS0td2l0aC10ZXh0LCAuYy1zdGFnZS5jLXN0YWdlLS1zZWFyY2guYy1zdGFnZS0tdmlkZW8uYy1zdGFnZS0td2l0aC10ZXh0IHtcbiAgICAtLV90ZXh0LXBvc2l0aW9uOiBjYWxjKHZhcigtLW1lZGlhLWhlaWdodCkgKiAuMyk7XG4gICAgLS1fbWF4LXRleHQtaGVpZ2h0OiAyMnJlbTtcbiAgfVxuICAuYy1zdGFnZS5jLXN0YWdlLS1zZWFyY2guYy1zdGFnZS0taW1hZ2UuYy1zdGFnZS0td2l0aC10ZXh0IC5jLWhlYWRsaW5lLCAuYy1zdGFnZS5jLXN0YWdlLS1zZWFyY2guYy1zdGFnZS0tdmlkZW8uYy1zdGFnZS0td2l0aC10ZXh0IC5jLWhlYWRsaW5lIHtcbiAgICAtLV90ZXh0LXBvc2l0aW9uOiBjYWxjKHZhcigtLW1lZGlhLWhlaWdodCkgKiAuNDIpO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmMtc3RlcC1ieS1zdGVwX193cmFwcGVyID4gLmMtc3RlcC1ieS1zdGVwX19pdGVtOm5vdCg6bnRoLW9mLXR5cGUoMSkpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAuYy1zdGVwLWJ5LXN0ZXBfX3dyYXBwZXIgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW06bm90KDpudGgtb2YtdHlwZSgxKSk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG91dGxpbmU6IDE0cHggc29saWQgY3VycmVudENvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiBjYWxjKDE0cHggKiAtMSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBmdW5jdGlvbi11cmwtcXVvdGVzICovXG4gICAgbWFzay1pbWFnZTogdXJsKFwiLi4vaWNvbnMvc3ByaXRlLnN2Z1wiKTtcbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIGZ1bmN0aW9uLXVybC1xdW90ZXMgKi9cbiAgICBtYXNrLXBvc2l0aW9uOiAtMTMwNXB4IC02MzVweDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMjUyLCAxLjQzKTtcbiAgfVxuICAuYy1zdGVwLWJ5LXN0ZXBfX3dyYXBwZXIgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW06bnRoLW9mLXR5cGUoMSkgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW1XcmFwcGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cbiAgLmMtc3RlcC1ieS1zdGVwX193cmFwcGVyID4gLmMtc3RlcC1ieS1zdGVwX19pdGVtOm50aC1vZi10eXBlKDIpID4gLmMtc3RlcC1ieS1zdGVwX19pdGVtV3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgfVxuICAuYy1zdGVwLWJ5LXN0ZXBfX3dyYXBwZXIgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW06bnRoLW9mLXR5cGUoMykgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW1XcmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgfVxuICAuYy1zdGVwLWJ5LXN0ZXBfX3dyYXBwZXIgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW06bnRoLW9mLXR5cGUoMyk6OmJlZm9yZSB7XG4gICAgbGVmdDogMC41cmVtO1xuICB9XG4gIC5jLXN0ZXAtYnktc3RlcF9fd3JhcHBlciA+IC5jLXN0ZXAtYnktc3RlcF9faXRlbSA+IC5jLXN0ZXAtYnktc3RlcF9faXRlbVdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgfVxuICAuYy1zdGVwLWJ5LXN0ZXBfX3dyYXBwZXIgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW0gPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW1XcmFwcGVyID4gLmMtc3RlcC1ieS1zdGVwX19pdGVtSWNvbkFyZWEge1xuICAgIGhlaWdodDogMTAuN3JlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMC43cmVtO1xuICB9XG4gIC5jLXN0ZXAtYnktc3RlcF9fd3JhcHBlciA+IC5jLXN0ZXAtYnktc3RlcF9faXRlbSA+IC5jLXN0ZXAtYnktc3RlcF9faXRlbVdyYXBwZXIgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW1Db250ZW50ID4gLnN0ZXAtaW5kZXgge1xuICAgIGZvbnQtc2l6ZTogNy41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICB9XG4gIC5jLXN0ZXAtYnktc3RlcF9fd3JhcHBlciA+IC5jLXN0ZXAtYnktc3RlcF9faXRlbSA+IC5jLXN0ZXAtYnktc3RlcF9faXRlbVdyYXBwZXIgPiAuYy1zdGVwLWJ5LXN0ZXBfX2l0ZW1Db250ZW50ID4gLnN0ZXAtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gIH1cbiAgLmMtc3RlcC1ieS1zdGVwX193cmFwcGVyID4gLmMtc3RlcC1ieS1zdGVwX19pdGVtID4gLmMtc3RlcC1ieS1zdGVwX19pdGVtV3JhcHBlciA+IC5jLXN0ZXAtYnktc3RlcF9faXRlbUNvbnRlbnQgPiAuc3RlcC1jb250ZW50IHAge1xuICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy1zdGlja3ktZmFxIHtcbiAgICAtLWhpbnQtcG9zaXRpb24teDogLTQuOXJlbTtcbiAgICAtLWhpbnQtcG9zaXRpb24teTogLTIuNXJlbTtcbiAgICAtLWJveC1wYWRkaW5nOiA2LjZyZW0gMi44cmVtIDUuMnJlbTtcbiAgICAtLWhpbnQtcGFkZGluZzogLjdyZW0gMi41cmVtIDIuMXJlbSA2LjZyZW07XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLmMtc3RpY2t5LWZhcV9fY2xvc2Uge1xuICAgIHRvcDogMS4xcmVtO1xuICAgIHJpZ2h0OiAxLjZyZW07XG4gIH1cbiAgLmMtc3RpY2t5LWZhcV9faGludDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgbGVmdDogMnJlbTtcbiAgfVxuICAuYy1zdGlja3ktZmFxX19oaW50ICoge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XG4gIH1cbiAgLmMtc3RpY2t5LWZhcV9fd3JhcHBlciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiA0MTdweDtcbiAgfVxuICAuYy1zdGlja3ktZmFxX19oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xuICB9XG4gIC5jLXN0aWNreS1mYXFfX2hlYWRsaW5lIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuN3JlbTtcbiAgfVxuICAuYy1zdGlja3ktZmFxX19oZWFkbGluZTo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdG9wOiAycHg7XG4gIH1cbiAgLmMtc3RpY2t5LWZhcV9faGVhZGxpbmUuYWN0aXZlLWNvbnRyb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxuICAuYy1zdGlja3ktZmFxX19oZWFkbGluZS5hY3RpdmUtY29udHJvbDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmMtc3RpY2t5LW5hdiB7XG4gICAgLS1idXR0b24tYm9yZGVyOiAxLjdweCBzb2xpZCAjRkZGRkZGO1xuICAgIC0tYnV0dG9uLXNpemU6IDVyZW07XG4gICAgLS1wb3NpdGlvbi14OiAyNXB4O1xuICAgIG1heC13aWR0aDogNDhlbTtcbiAgfVxuICAuYy1zdGlja3ktbmF2X19pdGVtICsgLmMtc3RpY2t5LW5hdl9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuYy1zdGlja3ktbmF2IHtcbiAgICAtLXBvc2l0aW9uLXk6IDI1NnB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmMtdGVhc2VyLXNsaWRlciB7XG4gICAgLS1kb3RzLW9mZnNldC15OiAzLjZyZW07XG4gIH1cbiAgLmMtdGVhc2VyLXNsaWRlciAuYy1zbGlkZXNob3ctbmF2aWdhdGlvbi0tZG90cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAxMHB4IDI2cHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy10ZWFzZXJfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDE4cHggMjRweCAyN3B4IDE4cHg7XG4gICAgbWluLWhlaWdodDogMjEzcHg7XG4gIH1cbiAgLmMtdGVhc2VyX19tZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG4gIC5jLXRlYXNlcl9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzM7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAuYy10ZWFzZXJfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDMxM3B4O1xuICB9XG4gIC5jLXRlYXNlcl9faW1hZ2UgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy10b2dnbGUtZmFxIHtcbiAgICAtLWZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG4gIC5jLXRvZ2dsZS1mYXFfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgfVxuICAuYy10b2dnbGUtZmFxX190aXRsZSBidXR0b24ge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAzcmVtIDEuNXJlbSAzLjdyZW07XG4gIH1cbiAgLmMtdG9nZ2xlLWZhcV9fbW9yZS1saW5rIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbWFyZ2luOiA3cmVtIGF1dG8gMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jLXRvcC1zZXJ2aWNlcyB7XG4gICAgLS10YWJzLWNvbnRhaW5lci1tYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuYy10b3Atc2VydmljZXNfX2ludHJvIHAge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG4gIC5jLXRvcC1zZXJ2aWNlc19fdGFicyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgbWluLWhlaWdodDogMzY4cHg7XG4gICAgcGFkZGluZzogMCAyLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDAlLCAxMDAlIGNhbGMoMTAwJSAtIDMwcHgpLCBjYWxjKDEwMCUgLSAzMDVweCkgY2FsYygxMDAlIC0gMzBweCksIGNhbGMoMTAwJSAtIDMwNXB4KSAxMDAlLCAwJSAxMDAlKTtcbiAgfVxuICAuYy10b3Atc2VydmljZXNfX3RhYnM6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzA1cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1jb2xvcik7XG4gIH1cbiAgLmMtdG9wLXNlcnZpY2VzX190YWJzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmMtdG9wLXNlcnZpY2VzX190YWJzLWxpc3Q6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgfVxuICAuYy10b3Atc2VydmljZXNfX3RhYnMtaXRlbSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmMtdG9wLXNlcnZpY2VzX190YWJzLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAxMHJlbSAwLjVyZW0gMi41cmVtIDAuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmMtdG9wLXNlcnZpY2VzX190YWJzLWxpbms6OmJlZm9yZSB7XG4gICAgdG9wOiA1cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuICAuYy10b3Atc2VydmljZXNfX3RhYnMtbGluazo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAuYy10b3Atc2VydmljZXNfX3RhYnMtbGluay5hY3RpdmUtY29udHJvbDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgbWFzay1pbWFnZTogbm9uZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJvcmRlci1hY3RpdmUtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIC5jLXRvcC1zZXJ2aWNlc19fdGFicy1vcGVuZXIge1xuICAgIHdpZHRoOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMjAwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmMtdG9wLXNlcnZpY2VzX190YWJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMi41cmVtIDNyZW0gM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5jLXRvcC1zZXJ2aWNlc19fdGFicy1wYW5lbCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICB9XG4gIC5jLXRvcC1zZXJ2aWNlc19fdGFicy1wYW5lbC1saXN0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMnJlbSA1cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmMtdG9wLXRlYXNlciB7XG4gICAgLS13cmFwcGVyLWJsb2NrLXBhZGRpbmc6IDEuOHJlbSA1LjNyZW07XG4gIH1cbiAgLmMtdG9wLXRlYXNlcl9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLmMtdG9wLXRlYXNlcl9fdG9wbGluZSBzcGFuLFxuICAuYy10b3AtdGVhc2VyX190b3BsaW5lIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgcGFkZGluZzogMC44cmVtIDEuNHJlbSAwLjhyZW07XG4gIH1cbiAgLmMtdG9wLXRlYXNlcl9fdG9wbGluZSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMS40cmVtO1xuICB9XG4gIC5jLXRvcC10ZWFzZXJfX3RvcGxpbmUtLWJyZWFrb3V0IHtcbiAgICBtYXJnaW4tbGVmdDogNXJlbTtcbiAgICB0ZXh0LWluZGVudDogLTVyZW07XG4gIH1cbiAgLmMtdG9wLXRlYXNlcl9fbWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICB9XG4gIC5jLXRvcC10ZWFzZXJfX3RleHQgKiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuICAuYy10b3AtdGVhc2VyIHA6bm90KFtjbGFzc10pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5jLXRvcC10ZWFzZXJfX2xpbmsge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyLjFyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy11bWZyYWdlIC5lcnJvckp1bXBMaW5rcyB7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogNXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jLXVzcC1iYXIge1xuICAgIHBhZGRpbmctYmxvY2s6IDEuMnJlbTtcbiAgfVxuICAuYy11c3AtYmFyX193cmFwcGVyIC5zbGljay1saXN0IHtcbiAgICBtYXJnaW46IDAgNDBweDtcbiAgfVxuICAuYy11c3AtYmFyX193cmFwcGVyIC5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogbm9ybWFsO1xuICB9XG4gIC5jLXVzcC1iYXJfX3NsaWRlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHBhZGRpbmc6IDIuOHJlbSAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5jLXVzcC1iYXJfX3NsaWRlID4gLmMtdXNwLWJhcl9fbGluayB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1pbmxpbmU6IDJyZW07XG4gICAgcGFkZGluZy1ibG9jazogMi44cmVtO1xuICB9XG4gIC5jLXVzcC1iYXJfX3NsaWRlOmhhcyguYy11c3AtYmFyX19saW5rKSB7XG4gICAgcGFkZGluZy1pbmxpbmU6IDA7XG4gIH1cbiAgLmMtdXNwLWJhcl9fc2xpZGUgc3BhbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICB9XG4gIC5jLXVzcC1iYXJfX3NsaWRlIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy12ZXJ0ZWlsZXJrYWNoZWxuIC5yb3cgPiAuY29sdW1uczpub3QoOm50aC1vZi10eXBlKG4rNCkpID4gLmMtdmVydGVpbGVya2FjaGVsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5jLXZlcnRlaWxlcmthY2hlbG4gLnJvdyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKG4rNCkgPiAuYy12ZXJ0ZWlsZXJrYWNoZWwge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYy12b3J0ZWlsc3JlY2huZXIgLmpzLWFjY29yZGlvbiB7XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgfVxuICAuYy12b3J0ZWlsc3JlY2huZXIgLmpzLWFjY29yZGlvbiA+IC5jLWFjY29yZGlvbi1jb250YWluZXIgPiAuYy1hY2NvcmRpb24tdGl0bGUgLmMtdm9ydGVpbHNyZWNobmVyX19pdGVtVGl0bGUgPiAuYy12b3J0ZWlsc3JlY2huZXJfX2l0ZW1JbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnRvb2x0aXAtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1MnJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgLS1iYXNlLWNvbnRlbnQtZ2FwLWJvdHRvbTogNy4zcmVtO1xuICAgIC0tY29udGVudC1nYXAtYm90dG9tOiA3LjNyZW07XG4gIH1cbiAgLmwtY29udGVudC13cmFwcGVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxuICAubC1jb250ZW50LXdyYXBwZXJfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmwtY29udGVudC13cmFwcGVyX190ZXh0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmwtY29udGVudC13cmFwcGVyID4gLmZvcm1Db250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTByZW07XG4gIH1cbiAgLmwtY29udGVudC13cmFwcGVyID4gLmZvcm1Db250YWluZXI6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sLWN1dG91dCB7XG4gICAgLS1jdXRvdXQtd2lkdGg6IDcuN3JlbTtcbiAgICAtLWN1dG91dC1oZWlnaHQ6IDFyZW07XG4gIH1cbiAgLmwtY3V0b3V0LS1sYXJnZS11cCB7XG4gICAgY2xpcC1wYXRoOiB2YXIoLS1jdXRvdXQtY2xpcC1wYXRoKTtcbiAgfVxuICAubC1jdXRvdXQtLXh4bGFyZ2UtdXAge1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgfVxuICAubC1jdXRvdXQuYy1jYXJkLXNsaWRlcl9fc2xpZGUge1xuICAgIC0tY3V0b3V0LXdpZHRoOiA1LjlyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubC1oZWFkZXJfX3dyYXBwZXIge1xuICAgIC0taGVhZGVyLXdyYXBwZXItcGFkZGluZzogM3JlbTtcbiAgICAtLWhlYWRlci13cmFwcGVyLW1pbi1oZWlnaHQ6IDcuM3JlbTtcbiAgICAtLWhlYWRlci13cmFwcGVyLW1pbi1oZWlnaHQtZGVrbzogMC44cmVtO1xuICB9XG4gIC5sLWhlYWRlcl9fd3JhcHBlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3cmVtKTtcbiAgfVxuICAubC1oZWFkZXJfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ibG9jazogMS40cmVtIDAuM3JlbTtcbiAgfVxuICAubC1oZWFkZXJfX2xvZ28gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAubC1oZWFkZXJfX2xvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDIwLjVyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWZwLWNvbnRlbnQge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaC1leHBhbmQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgfVxufSIsIi5jLTMtZmFrdGVuLWJveCB7XHJcblxyXG4gIC5jLTMtZmFrdGVuLWJveC1pbWFnZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMHB4KTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IHVuc2V0O1xyXG5cclxuICAgID4gcGljdHVyZSwgaW1nIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB3aWR0aDogMTAwdnc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYy0zLWZha3Rlbi1ib3gtd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiByZW0tY2FsYygzMXB4KTtcclxuXHJcbiAgICAuYy0zLWZha3Rlbi1ib3gtaXRlbSB7XHJcblxyXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gZGl2OmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgID4gLmMtMy1mYWt0ZW4tZmllbGQtY29udGVudCB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiI21haW4ge1xyXG4gIC5jLTUwLWdydWVuZGUge1xyXG4gICAgLmMtemllbGdydXBwZSB7XHJcbiAgICAgICZfX3R5cGUge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg1MXB4KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmMtNTAtZ3J1ZW5kZSB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAuYy16aWVsZ3J1cHBlIHtcclxuICAgICYuYWN0aXZlLWNvbnRyb2wge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAuYy16aWVsZ3J1cHBlX190eXBlIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAtMXB4O1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDIwcHgpIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3ppZWxncnVwcGVuIHtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQ1IDBweCk7XHJcbiAgfVxyXG5cclxuICAmX19ncnVlbmRlIHtcclxuICAgIC0tYmFja2dyb3VuZC1jb2xvcjogI3skY29sb3Itd2hpdGV9O1xyXG4gIH1cclxuXHJcbiAgJl9fYmVzY2hyZWlidW5nIHtcclxuICAgIC0tYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XHJcblxyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzVweCAzNXB4IDUwcHggMjVweCk7XHJcbiAgfVxyXG5cclxuICAuYy1ncnVuZCB7XHJcbiAgICAmX19oZWFkbGluZSwgJl9fdGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMThweCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuIiwiLmMtYWNjb3JkaW9uIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC0tZm9udC1zaXplOiAxLjZyZW07XHJcblxyXG4gIC8vbWFyZ2luLWJvdHRvbTogM3JlbTtcclxuXHJcbiAgJi1jb250YWluZXIge1xyXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSl7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLXRpdGxlIHtcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAzcmVtIDEuNXJlbSAxLjVyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBsZWZ0OiAzLjlyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCIuYy1ha3Rpdi1ib251cy1iZWlzcGllbHtcclxuXHJcbiAgLmltZy13cmFwcGVye1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBtYXgtd2lkdGg6IDkwJTtcclxuXHJcbiAgICAmICsgLmMtYWt0aXYtYm9udXMtYmVpc3BpZWxfX2NhcmR7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xNTBweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgJl9fY2FyZCB7XHJcbiAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgbWFyZ2luLWlubGluZTogM3JlbSAzcmVtO1xyXG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogNTAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcclxuXHJcbiAgICAuc2xpZGUtd3JhcHBlcjpub3QoOmhhcyguaW1nLXdyYXBwZXIpKSAmIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuYy1zbGlkZXNob3ctbmF2aWdhdGlvbl9fYnV0dG9uIHtcclxuICAgIC0taW5saW5lLXBvc2l0aW9uOiAtNXJlbTtcclxuICB9XHJcblxyXG59XHJcbiIsIi5jLWFrdGl2LWJvbnVzLWl0ZW0ge1xyXG4gICRlbDogJjtcclxuXHJcbiAgJl9faGVhZGxpbmUge1xyXG4gICAgLS1saW5lLWhlaWdodDogMS42O1xyXG4gIH1cclxufVxyXG4iLCIuYy1hdXRvc3VnZ2VzdCB7XHJcbiAgJGVsOiAmO1xyXG4gICRlbC1jLXN0YWdlOiAnLmMtc3RhZ2UnO1xyXG4gICRlbC1jLXNlcnZpY2VzZWFyY2g6ICcuYy1zZXJ2aWNlc2VhcmNoJztcclxuXHJcbiAgLy8gQmxvY2tcclxuICAvLyBFbGVtZW50XHJcbiAgLy8gTW9kaWZpZXJzXHJcblxyXG5cclxuICAvLyBTY29wZVxyXG5cclxuICAjeyRlbC1jLXNlcnZpY2VzZWFyY2h9ICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgIC0tdG9wLW9mZnNldC1kZXNjcmlwdGlvbjogNzBweDtcclxuICB9XHJcblxyXG4gICN7JGVsLWMtc3RhZ2V9ICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgIC0tdG9wLW9mZnNldC1kZXNjcmlwdGlvbjogNzBweDtcclxuICB9XHJcblxyXG59XHJcbiIsIi5jLWF3YXJkcy12MiB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAmLXdyYXBwZXIge1xyXG4gICAgPiAjeyRlbH0tZmllbGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xyXG5cclxuICAgICAgJi5pc0xhc3RJblJvdywgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgID4gI3skZWx9LWltYWdlIHtcclxuICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuIiwiLmMtYXdhcmRzIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC8vIEJsb2NrXHJcbiAgLy8gRWxlbWVudHNcclxuICAmX19saXN0IHtcclxuICAgIG1hcmdpbjogMi42cmVtIDAgNS42cmVtO1xyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAmICsgI3skZWx9X19pdGVtIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMS4zcmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNb2RpZmllclxyXG4gIC8vIFNjb3BlXHJcbn1cclxuIiwiLmMtYm94LWxpc3Qge1xyXG4gIC8vIFZhcmlhYmxlXHJcblxyXG4gIC8vIEJsb2NrXHJcbiAgcGFkZGluZzogNXJlbTtcclxuXHJcbiAgLy8gRWxlbWVudHNcclxuXHJcbiAgJl9faXRlbXtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XHJcbiAgICBwYWRkaW5nOiAwICAwIGNhbGMoMiAqICRndXR0ZXIpIDA7XHJcbiAgICBnYXA6IGNhbGMoMiAqICRndXR0ZXIpO1xyXG4gIH1cclxuXHJcbiAgJl9fdGVybSB7XHJcbiAgICBmbGV4OiAwIDEgY2FsYygoMTAwJSAtIDIgKiAkZ3V0dGVyKSAvIDIpO1xyXG4gIH1cclxuXHJcbiAgJl9fZGVmaW5pdGlvbiB7XHJcbiAgICBmbGV4OiAwIDEgY2FsYygoMTAwJSAtIDIgKiAkZ3V0dGVyKSAvIDIpO1xyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJzXHJcblxyXG4gIC8vIFNjb3BlXHJcblxyXG59XHJcbiIsIi5jLWJyZWFkY3J1bWIge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLy8gQmxvY2tcclxuICAmLmMtbW9kdWxlLS1nYXAge1xyXG4gICAgLS1tb2R1bGUtZ2FwLXRvcDogI3tyZW0tY2FsYygzMHB4KX07XHJcbiAgICAtLW1vZHVsZS1nYXAtYm90dG9tOiAje3JlbS1jYWxjKDcwcHgpfTtcclxuICB9XHJcblxyXG59XHJcbiIsIi5jLWNhcmQtc2xpZGVyIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC8vIEJsb2NrXHJcblxyXG4gIC8vIEVsZW1lbnRzXHJcbiAgLnNsaWNrLWxpc3Qge1xyXG4gICAgQGluY2x1ZGUgYWR2YW5jZWQtYnJlYWstb3V0LXdpZHRoKDEyLCA4LCBtZWRpdW0sIDEpO1xyXG4gIH1cclxuXHJcbiAgJl9fc2xpZGUge1xyXG4gICAgbWFyZ2luOiAwIDEycHggMTJweDtcclxuICAgIG1pbi1oZWlnaHQ6IDIxM3B4O1xyXG4gIH1cclxuXHJcbiAgJl9fdGl0bGUge1xyXG4gICAgbWFyZ2luOiBhdXRvIDIwcHggMjdweCAxNXB4O1xyXG4gIH1cclxuXHJcbiAgJl9fc3ZnIHtcclxuICAgIHN2ZyB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgd2lkdGg6IDcwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNb2RpZmllclxyXG5cclxuICAvLyBTY29wZVxyXG5cclxufVxyXG4iLCIuYy1jYXJkIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC0taWNvbi1zaXplOiA0LjVyZW07XHJcblxyXG4gIC0tYm94LXBhZGRpbmc6IDMuNnJlbSAxLjZyZW0gMi45cmVtIDIuNXJlbTtcclxuICAtLWJveC1tYXJnaW46IDNyZW0gMCA3cmVtO1xyXG5cclxuICAvLyBCbG9ja1xyXG5cclxuICAvLyBFbGVtZW50c1xyXG4gICZfX2hlYWRsaW5lLCAmX190ZXh0IHtcclxuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoN3B4KTtcclxuICB9XHJcblxyXG4gICZfX2ljb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIG1heC13aWR0aDogMXJlbTtcclxuICAgICAgbWF4LWhlaWdodDogMnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1vZGlmaWVyXHJcbiAgLy8gU2NvcGVcclxufVxyXG4iLCIuYy1jaGVja2xpc3RlIHtcclxuXHJcbiAgLmMtY2hlY2tsaXN0ZS13cmFwcGVyIHtcclxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMxcHggMTVweCAwIDE1cHgpO1xyXG5cclxuICAgID4gLmMtY2hlY2tsaXN0ZS1pdGVtIHtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiLmMtY29tcGV0ZW5jZSB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAtLWljb24tc2l6ZTogNC41cmVtO1xyXG4gIC0tYm94LXBhZGRpbmc6IDMuN3JlbSAyLjdyZW0gMy4zcmVtO1xyXG4gIC0taWNvbi1tYXJnaW4tdG9wOiAycmVtO1xyXG4gIC0taGVhZGxpbmUtc2l6ZTogMnJlbTtcclxuXHJcbiAgLy8gQmxvY2tcclxuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXJlbSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG5cclxuICAvLyBFbGVtZW50c1xyXG4gICZfX2hlYWRsaW5lIHtcclxuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDU4cHgpO1xyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuICAvLyBTY29wZVxyXG59XHJcbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi5jLWN0YSB7XHJcbiAgJGVsOiAmO1xyXG4gICRjdXRvdXQtd2lkdGg6IDE2MnB4O1xyXG4gICRjdXRvdXQtaGVpZ2h0OiAxNnB4O1xyXG5cclxuICAvLyBCbG9ja1xyXG4gIC8vbWFyZ2luLWJvdHRvbTogNDVweDtcclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuICAvLyYjeyZ9LS1tZW1iZXJzaGlwIHtcclxuICAvLyAgI3skZWx9X193cmFwcGVyIHtcclxuICAvLyAgICBwYWRkaW5nLXRvcDogNTZweDtcclxuICAvLyAgICBwYWRkaW5nLWJvdHRvbTogODNweDtcclxuICAvLyAgfVxyXG4gIC8vfVxyXG5cclxuICAvLyBFbGVtZW50c1xyXG4gICZfX3dyYXBwZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDU2cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogODNweDtcclxuICAgIGNsaXAtcGF0aDogcG9seWdvbigtMTAwdncgMCUsIDEwMHZ3IDAlLCAxMDB2dyBjYWxjKDEwMCUgLSAjeyRjdXRvdXQtaGVpZ2h0fSksIGNhbGMoMTAwJSAtICN7JGN1dG91dC13aWR0aH0pIGNhbGMoMTAwJSAtICN7JGN1dG91dC1oZWlnaHR9KSwgY2FsYygxMDAlIC0gI3skY3V0b3V0LXdpZHRofSkgMTAwJSwgLTEwMHZ3IDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgJl9fd3JhcHBlci1pY29uIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuXHJcbiAgICBpbWcsXHJcbiAgICBzdmcge1xyXG4gICAgICBtYXgtd2lkdGg6IDY4cHg7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDczcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX193cmFwcGVyLXRleHQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAuYy1oZWFkbGluZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX193cmFwcGVyLWZvcm0ge1xyXG4gICAgLmZvcm1GaWVsZCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3dyYXBwZXItZm9ybSxcclxuICAmX193cmFwcGVyLWxpbmsge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBmbGV4OiAxIDAgMDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCxcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICYuc3VibWl0IHtcclxuICAgICAgICB3aWR0aDogMzA3cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1vZGlmaWVyXHJcblxyXG4gICYtLXJlY2huZXIge1xyXG4gICAgI3skZWx9X193cmFwcGVyLWljb24ge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjJweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTY29wZVxyXG5cclxufVxyXG4iLCIuYy1kaWFsb2ctcG9wdXAge1xyXG4gICRlbDogJjtcclxuXHJcbiAgZGlhbG9nIHtcclxuICAgIC0tZGlhbG9nLXdpZHRoOiA2Mi41cmVtO1xyXG4gICAgLS1jbG9zZS1idXR0b24tc2l6ZTogNHJlbTtcclxuICAgIC0tZGlhbG9nLW1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAtLWRpYWxvZy1wYWRkaW5nOiA0cmVtO1xyXG4gICAgLS1kaWFsb2ctY29udGVudC1tYXJnaW4tdG9wOiAwO1xyXG5cclxuICAgICN7JGVsfV9fZGlhbG9naGFuZGxlIHtcclxuICAgICAgI3skZWx9X19jbG9zZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgdG9wOiBjYWxjKDAlIC0gdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpIC8gMiAtIHZhcigtLWNsb3NlLWJ1dHRvbi1ib3JkZXItc2l6ZSkpO1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDAlIC0gdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpIC8gMiAtIHZhcigtLWNsb3NlLWJ1dHRvbi1ib3JkZXItc2l6ZSkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiLmMtZm9vdGVyIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC8vIEJsb2NrXHJcbiAgcGFkZGluZzogMCAje21hcC1nZXQoJGdyaWQtY29sdW1uLW91dGVyLWd1dHRlciwgJ2xhcmdlJyl9IHZhcigtLWJhc2UtbW9kdWxlLWdhcC1ib3R0b20pO1xyXG5cclxuICAvLyBFbGVtZW50c1xyXG4gICZfX3NvY2lhbCxcclxuICAmX19zaXRlaW5mbyxcclxuICAmX19hd2FyZHMge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjRweCk7XHJcbiAgICAgIGxlZnQ6IDEycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zaXRlaW5mbyB7XHJcbiAgICAjeyRlbH1fX2xpc3Qge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgY29sdW1uLWNvdW50OiAyO1xyXG5cclxuICAgICAgI3skZWx9X19pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFnZS1icmVhay1iZWZvcmU6IGF1dG87XHJcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXV0bztcclxuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2F3YXJkcyB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgIG1hcmdpbi10b3A6IDE0cHg7XHJcblxyXG4gICAgI3skZWx9X19oZWFkbGluZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19oZWFkbGluZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMnB4O1xyXG4gIH1cclxuXHJcbiAgJl9faW5mbyB7XHJcbiAgICAjeyRlbH1fX2xpc3Qge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGdhcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICAjeyRlbH1fX2l0ZW0ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvcHlyaWdodCB7XHJcbiAgICBwIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faXRlbSBzdHJvbmcsXHJcbiAgJl9faW5uZXJpdGVtIHN0cm9uZ3tcclxuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gIH1cclxuICAvLyBNb2RpZmllclxyXG5cclxuICAvLyBTY29wZVxyXG5cclxufVxyXG4iLCIuYy1oZWFkbGluZSB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAvLyBCbG9ja1xyXG4gIC8vIEVsZW1lbnRzXHJcbiAgLy8gTW9kaWZpZXJcclxuXHJcbiAgLy8gU2NvcGVcclxuICBAYXQtcm9vdCBoMSN7Jn0sIC5oMSN7Jn0sXHJcbiAgOndoZXJlKC5zdGFydHNlaXRlKSAuYy1hcnRpY2xlIGgyI3smfSwgOndoZXJlKC5zdGFydHNlaXRlKSAuYy1hcnRpY2xlIC5oMiN7Jn0ge1xyXG4gICAgLS1mb250LXNpemU6ICN7cmVtLWNhbGMoNDBweCl9O1xyXG5cclxuICAgIC8vIEJsb2NrXHJcblxyXG4gICAgLy8gRWxlbWVudHNcclxuICAgICN7JGVsfV9faW5uZXIge1xyXG4gICAgICAtLWJveC1zaGFkb3ctc3ByZWFkLXJhZGl1czogMTFweDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBNb2RpZmllclxyXG4gICAgJiN7JGVsfS0tYnJlYWtvdXQge1xyXG4gICAgICAtLXBhZGRpbmctYmxvY2stc3RhcnQ6ICN7cmVtLWNhbGMoNDJweCl9O1xyXG4gICAgICAtLW1hcmdpbi1ibG9jay1lbmQ6ICN7cmVtLWNhbGMoMzBweCl9O1xyXG4gICAgICAtLW1hcmdpbi1pbmxpbmUtc3RhcnQ6ICN7cmVtLWNhbGMoMTJweCl9O1xyXG4gICAgICAtLXRleHQtaW5kZW50OiAje3JlbS1jYWxjKC0xNXB4KX07XHJcblxyXG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1tYXJnaW4taW5saW5lLXN0YXJ0KTtcclxuICAgICAgdGV4dC1pbmRlbnQ6IHZhcigtLXRleHQtaW5kZW50KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTY29wZVxyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIi5jLWt1bmRlbnNlcnZpY2Uge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLS10b3AtaXRlbS1oZWFkbGluZS1tYXJnaW46IDE1LjRyZW07XHJcblxyXG4gICZfX2l0ZW0ge1xyXG4gICAgLmgzIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMHB4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIi5jLWxpbmstbGlzdCB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAvL0Jsb2NrXHJcbiAgbWFyZ2luLXRvcDogMXJlbTtcclxuXHJcbiAgLy8gRWxlbWVudHNcclxuICAvLyBNb2RpZmllclxyXG4gIC8vIFNjb3BlXHJcbn1cclxuIiwiLmMtbWVtYmVyc2hpcCB7XHJcbiAgJGVsOiAmO1xyXG4gICRjdXRvdXQtd2lkdGg6IDE2MnB4O1xyXG4gICRjdXRvdXQtaGVpZ2h0OiAxNnB4O1xyXG5cclxuICAvLyBCbG9ja1xyXG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XHJcblxyXG4gIC8vIEVsZW1lbnRzXHJcbiAgJl9fd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nLXRvcDogNTZweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4M3B4O1xyXG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKC0xMDB2dyAwJSwgMTAwdncgMCUsIDEwMHZ3IGNhbGMoMTAwJSAtICN7JGN1dG91dC1oZWlnaHR9KSwgY2FsYygxMDAlIC0gI3skY3V0b3V0LXdpZHRofSkgY2FsYygxMDAlIC0gI3skY3V0b3V0LWhlaWdodH0pLCBjYWxjKDEwMCUgLSAjeyRjdXRvdXQtd2lkdGh9KSAxMDAlLCAtMTAwdncgMTAwJSk7XHJcbiAgfVxyXG5cclxuICAmX193cmFwcGVyLXRleHQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19oZWFkbGluZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fd3JhcHBlci1mb3JtIHtcclxuICAgIC5mb3JtRmllbGQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICBtYXJnaW46IDE4cHggNDVweCAxNHB4IDM1cHg7XHJcbiAgICAgIGZsZXg6IDEgMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0LFxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgJi5zdWJtaXQge1xyXG4gICAgICAgIHdpZHRoOiAzMDdweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuXHJcbiAgLy8gU2NvcGVcclxuXHJcbn1cclxuIiwiLmMtbW9iaWxlLW5hdiB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAtLWJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yLXdoaXRlfTtcclxuICAtLXRleHQtY29sb3I6ICN7JGticy1rbi1kYXJrLWdyZXl9O1xyXG4gIC0tdGV4dC1oaWdobGlnaHRlZDogI3skY29sb3ItcHJpbWFyeX07XHJcbiAgLS1saW5rLWNvbG9yOiAjeyRrYnMta24tZGFyay1ncmV5fTtcclxuICAtLWJvcmRlci1jb2xvcjogI3ska2JzLWtuLWxpZ2h0LWdyZXl9O1xyXG4gIC0taGVhZGVyLWljb24tY29sb3I6ICN7JGticy1rbi1kYXJrLWdyZXl9O1xyXG4gIC0tYnV0dG9uLWljb24tY29sb3I6ICN7JGNvbG9yLXdoaXRlfTtcclxuICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvci1wcmltYXJ5fTtcclxuICAtLWxpbmstYWN0aXZlLW91dGxpbmUtY29sb3I6ICN7JGticy1rbi1kYXJrLWdyZXl9O1xyXG4gIC0tZm9jdXMtb3V0bGluZS1jb2xvcjogI3ska2JzLWtuLWRhcmstZ3JleX07XHJcbiAgLS1zdmctZmlsbC1jb2xvcjogI3ska2JzLWtuLWRhcmstZ3JleX07XHJcblxyXG4gIG1heC13aWR0aDogNTAwcHg7XHJcbiAgcGFkZGluZzogMCA0cmVtO1xyXG4gIGxlZnQ6IGF1dG87XHJcblxyXG4gICZfX2hlYWRlciB7XHJcbiAgICBoZWlnaHQ6IDcuNHJlbTtcclxuICB9XHJcblxyXG4gIC5jLXNvY2lhbCB7XHJcbiAgICAtLWxpbmstZGVjb3JhdGlvbi1jb2xvcjogI3ska2JzLWtuLWRhcmstZ3JleX07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICZfX2hlYWRsaW5lIHtcclxuICAgICAgLS1tYXJnaW4tYm90dG9tOiAje3JlbS1jYWxjKDEzcHgpfTtcclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rIHtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi1zdmcge1xyXG4gICAgICAgIHdpZHRoOiA0LjJyZW07XHJcbiAgICAgICAgaGVpZ2h0OiA0LjJyZW07XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICB3aWR0aDogNC4ycmVtO1xyXG4gICAgICAgICAgaGVpZ2h0OiA0LjJyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sYW5nIHtcclxuICAgIHVsIHtcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBtYXNrLWltYWdlKGdsb2JlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faXRlbSB7XHJcbiAgICA+IGEsXHJcbiAgICA+IHN0cm9uZyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWJhY2sge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAjeyRlbH1fX2J1dHRvbiB7XHJcbiAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICN7JGNvbG9yLWFudGktZmxhc2gtd2hpdGV9O1xyXG4gICAgICB3aWR0aDogMy44cmVtO1xyXG4gICAgICBoZWlnaHQ6IDMuOHJlbSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgc3ZnIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxLjU4cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1iYWNrIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIEBpbmNsdWRlIG1hc2staW1hZ2UoYmFjayk7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS42cmVtO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTNweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX21lbWJlcmJ1dHRvbiB7XHJcbiAgICAuYy1idXR0b24ge1xyXG4gICAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19tZXRhIHtcclxuICAgICYubmF2U2VydmljZUdTIHtcclxuICAgICAgYSxcclxuICAgICAgc3Ryb25nIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWFzay1pbWFnZShnZWJhZXJkZW5zcHJhY2hlKTtcclxuICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgIGxlZnQ6IC0ycHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5uYXZTZXJ2aWNlTFMge1xyXG4gICAgICBhLFxyXG4gICAgICBzdHJvbmcge1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtYXNrLWltYWdlKGxlaWNodGUtc3ByYWNoZSk7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiA0cmVtO1xyXG4gICAgICAgIHJpZ2h0OiA0cmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5jLW1vZHVsZSB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAmLS1nYXAge1xyXG4gICAgLS1iYXNlLW1vZHVsZS1nYXAtdG9wICAgIDogNnJlbTtcclxuICAgIC0tYmFzZS1tb2R1bGUtZ2FwLWJvdHRvbSA6IDcuM3JlbTtcclxuICAgIC0tbW9kdWxlLWdhcC10b3AgICAgICAgICA6IDZyZW07XHJcbiAgICAtLW1vZHVsZS1nYXAtYm90dG9tICAgICAgOiA3LjNyZW07XHJcbiAgfVxyXG59XHJcbiIsIi5jLW1vc3QtaW1wb3J0YW50IHtcclxuICAkZWw6ICY7XHJcblxyXG4gICZfX3dyYXBwZXIge1xyXG5cclxuICAgICN7JGVsfV9faW1hZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMzIwcHgpO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICA+IGltZyB7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3skZWx9X19jb250cm9scyB7XHJcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDM0cHgpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuIiwiLmMtbXV0dGVyc2NodXR6ZnJpc3RlbnJlY2huZXIge1xyXG4gICRlbDogJjtcclxuXHJcbiAgJl9fcmVzdWx0Q29udGFpbmVyIHtcclxuICAgID4gI3skZWx9X19yZXN1bHRJbm5lckNvbnRhaW5lciB7XHJcbiAgICAgID4gI3skZWx9X19yZXN1bHQge1xyXG4gICAgICAgID4gLnJlc3VsdC1lbmQge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHJcbiAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDglO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIi5jLW5hdi1wcmltYXJ5IHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC0tbmF2LXByaW1hcnktaGVpZ2h0OiAje3JlbS1jYWxjKDczcHgpfTtcclxuXHJcbiAgJl9fYWRkaXRpb25hbC1saXN0IHtcclxuICAgIC0tbmF2LXByaW1hcnktaXRlbS1pbmxpbmUtZ2FwOiAje3JlbS1jYWxjKDExcHgpfTtcclxuICB9XHJcblxyXG4gICZfX2l0ZW0ge1xyXG5cclxuICAgICYtLW1pdGdsaWVkLXdlcmRlbiB7XHJcblxyXG4gICAgICAjeyRlbH1fX2J1dHRvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYnV0dG9uIHtcclxuICAgIC0tYnV0dG9uLXBhZGRpbmc6ICN7cmVtLWNhbGMoMTJweCAyNi41cHggMTE0cHgpfTtcclxuICB9XHJcblxyXG4gICZfX2ljb24tbGluayB7XHJcbiAgICBzdmcge1xyXG4gICAgICBtYXgtd2lkdGg6IHVuc2V0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuYy1uZXdzLWNhcmQge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLy8gQmxvY2tcclxuXHJcbiAgLy8gRWxlbWVudFxyXG4gICZfX3dyYXBwZXIge1xyXG4gICAgcGFkZGluZzogMTVweCAxNXB4IDA7XHJcbiAgfVxyXG5cclxuICAmX19jb250ZW50IHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cclxuICAgIHAge1xyXG4gICAgICBsaW5lLWhlaWdodDogMi40cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuXHJcbiAgLy8gU2NvcGVcclxuXHJcbn1cclxuIiwiLmMtbmV3cyB7XHJcbiAgLy8gQmxvY2tcclxuXHJcbiAgLy8gRWxlbWVudFxyXG4gICZfX2l0ZW0ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5ld3MtY2FyZCB7XHJcbiAgICAgICZfX3dyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMHB4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8vIE1vZGlmaWVyXHJcblxyXG4gIC8vIFNjb3BlXHJcbn1cclxuIiwiLmMtcG9zc2liaWxpdGllcyB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAtLXRleHQtc2l6ZTogMS44cmVtO1xyXG5cclxuICA+ICZfX3NlZ21lbnRUaXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzM3B4KTtcclxuICB9XHJcblxyXG4gID4gJl9fd3JhcHBlciB7XHJcbiAgICA+ICN7JGVsfV9faXRlbSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgJjpudGgtb2YtdHlwZShuKzQpe1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMHB4KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgPiAjeyRlbH1fX2l0ZW1XcmFwcGVyIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxNnB4IDAgMjVweCk7XHJcblxyXG4gICAgICAgID4gI3skZWx9X19pdGVtSWNvbkFyZWEge1xyXG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDkxcHgpO1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoOTFweCk7XHJcblxyXG4gICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gI3skZWx9X19pdGVtQ29udGVudCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNXB4KTtcclxuXHJcbiAgICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAjeyRlbH1fX2l0ZW1MaW5rIHtcclxuICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiLnByZXZpZXdoaW50IHtcclxuXHJcbiAgLmNvbHVtbiB7XHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5jLXJhdGluZyB7XHJcbiAgLy8gQmxvY2tcclxuICAvLyBFbGVtZW50c1xyXG4gICZfX2Zvcm1IYW5kbGUge1xyXG4gICAgLnN1Ym1pdCB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGh1bWJzIHtcclxuICAgIC5mb3JtTGFiZWwge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuICAvLyBTY29wZVxyXG4gfVxyXG4iLCIuYy1yZXBvcnQtYm94IHtcclxuICAkZWw6ICN7Jn07XHJcblxyXG4gIC8vIEJsb2NrXHJcbiAgbWF4LXdpZHRoOiA1MDBweDtcclxufVxyXG5cclxuXHJcbi5jLXJlcG9ydC1ib3gtYmFkZ2Uge1xyXG4gIC0tYmFkZ2UtcG9zaXRpb24tcmlnaHQ6ICN7cmVtLWNhbGMoMTJweCl9O1xyXG5cclxuICAmX19jb3VudGVyIHtcclxuICAgIHRvcDogMi42cmVtO1xyXG4gICAgd2lkdGg6IDEuOXJlbTtcclxuICAgIGhlaWdodDogMS45cmVtO1xyXG4gIH1cclxuXHJcbiAgLy8gU2NvcGVcclxuXHJcbiAgQGF0LXJvb3QgLmMtbW9iaWxlLW5hdiAmIHtcclxuICAgIC0tYmFkZ2UtcG9zaXRpb24tcmlnaHQ6ICN7cmVtLWNhbGMoMXB4KX07XHJcblxyXG4gICAgJl9fY291bnRlciB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmMtc2VhcmNoIHtcclxuICAkZWw6ICY7XHJcblxyXG4gICZfX2ZhY2V0LS1yZXNldCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICAmLS1yZXNldCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMnJlbTtcclxuICB9XHJcbiAgJl9fZmFjZXQge1xyXG4gICAgJi0tZmlsdGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICB1bCAge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIiwiLmMtc2VhcmNoLXF1aWNrbGlua3Mge1xyXG5cclxuICAkZWw6ICY7XHJcblxyXG4gIC8vIEJsb2NrXHJcblxyXG4gIC8vIEVsZW1lbnRzXHJcblxyXG4gICZfX2l0ZW0ge1xyXG4gICAgbWFyZ2luOiAwIDEuOHJlbSAxLjhyZW0gMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJl9fbGluayB7XHJcbiAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuXHJcbiAgLy8gU2NvcGVcclxufVxyXG4iLCIuYy1zZWFyY2hyZXN1bHQge1xyXG5cclxuICAmLXRlYXNlciB7XHJcbiAgICAmX19pbWFnZSB7XHJcblxyXG4gICAgICB3aWR0aDogMzAlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHQge1xyXG4gICAgICB3aWR0aDogNzAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIi5jLXNlcnZpY2VzZWFyY2gge1xyXG4gIC0tYmFja2dyb3VuZC1jb2xvcjogI3skY29sb3Itd2hpdGV9O1xyXG4gIC0tY2xvc2UtaWNvbi1jb2xvcjogI3ska2JzLWtuLWRhcmstZ3JleX07XHJcbiAgLS1oZWFkbGluZS1jb2xvcjogICN7JGticy1rbi1kYXJrLWdyZXl9O1xyXG4gIC0tdGV4dC1jb2xvcjogI3ska2JzLWtuLWRhcmstZ3JleX07XHJcbiAgLS1ib3JkZXItY29sb3I6ICN7JGticy1rbi1kYXJrLWdyZXl9O1xyXG4gIC0tZm9jdXMtb3V0bGluZS1jb2xvci1jbG9zZWJ1dHRvbjogI3skY29sb3ItYmxhY2t9O1xyXG4gIC0tZm9jdXMtb3V0bGluZS1jb2xvci1zZWFyY2hpbnB1dDogI3skY29sb3ItYmxhY2t9O1xyXG4gIC0tZm9jdXMtb3V0bGluZS1vZmZzZXQtc2VhcmNoaW5wdXQ6IDByZW07XHJcblxyXG4gICRlbDogJjtcclxuXHJcbiAgLy8gQmxvY2tcclxuICBtYXgtd2lkdGg6IDUwMHB4O1xyXG5cclxuICAvLyBFbGVtZW50c1xyXG4gICZfX2hlYWRsaW5lIHtcclxuICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcclxuICB9XHJcblxyXG4gICZfX2Nsb3NlYnV0dG9uIHtcclxuICAgIHRvcDogMi41cmVtO1xyXG4gICAgcmlnaHQ6IDMuMXJlbTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICB3aWR0aDogMi41cmVtO1xyXG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2lucHV0IHtcclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgLnNlYXJjaEF1dG9TdWdnZXN0Qm94IHtcclxuICAgICAgICB0b3A6IDdyZW0gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgcGFkZGluZzogMXJlbSAzLjVyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICZbdHlwZT10ZXh0XSB7XHJcbiAgICAgICAgcGFkZGluZzogMi43cmVtIDUuNnJlbSAxLjlyZW0gMi41cmVtICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZbdHlwZT1pbWFnZV0ge1xyXG4gICAgICAgIHRvcDogLjFyZW07XHJcbiAgICAgICAgcmlnaHQ6IC4xcmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDIuMXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDdyZW07XHJcbiAgICAgICAgd2lkdGg6IDdyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1vZGlmaWVyXHJcblxyXG4gIC8vIFNjb3BlXHJcbn1cclxuIiwiLmMtc2xpZGVzaG93LW5hdmlnYXRpb24ge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLy8gQmxvY2tcclxuXHJcbiAgLy8gRWxlbWVudHNcclxuICAmX19idXR0b24ge1xyXG4gICAgc3ZnIHtcclxuICAgICAgbWF4LXdpZHRoOiAxM3B4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNsaWNrLWRvdHMge1xyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDAgMTIuNXB4IDVweDtcclxuXHJcbiAgICAgICYuc2xpY2stYWN0aXZlIHtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgJjo6YmVmb3JlIHsgLy9zYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5lc3RpbmctZGVwdGhcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9idXR0b24ge1xyXG4gICAgLy8gIHdpZHRoOiA0NnB4O1xyXG4gICAgLy9cclxuICAgIC8vICAmOjpiZWZvcmUge1xyXG4gICAgLy8gICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAvLyAgICB3aWR0aDogNDZweDtcclxuICAgIC8vICB9XHJcbiAgICAvL31cclxuICB9XHJcblxyXG4gIC8vIE1vZGlmaWVyXHJcbiAgJi0tZG90cyB7XHJcbiAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vYnV0dG9uIHtcclxuICAgICAgLy8gIGhlaWdodDogOHB4O1xyXG4gICAgICAvLyAgd2lkdGg6IDhweDtcclxuICAgICAgLy9cclxuICAgICAgLy8gICY6OmJlZm9yZSB7XHJcbiAgICAgIC8vICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAvLyAgICB3aWR0aDogOHB4O1xyXG4gICAgICAvLyAgfVxyXG4gICAgICAvL31cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFNjb3BlXHJcbiAgLmMtdXNwLWJhciAmIHtcclxuICAgIC5zbGljay1kb3RzIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmMtY2FyZC1zbGlkZXIgJiB7XHJcbiAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgIGJvdHRvbTogLTEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCIuYy1zb2NpYWwge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLy8gQmxvY2tcclxuICBwYWRkaW5nLXRvcDogMjBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAvLyBFbGVtZW50c1xyXG4gICZfX2hlYWRsaW5lIHtcclxuICAgIC0tbWFyZ2luLWJvdHRvbTogI3tyZW0tY2FsYygxOHB4KX07XHJcbiAgfVxyXG5cclxuICAmX19saW5rIHtcclxuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmLXN2ZyB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xyXG4gICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICBtaW4td2lkdGg6IDI0cHg7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICB3aWR0aDogMjRweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuXHJcbiAgLy8gU2NvcGVcclxuXHJcbn1cclxuIiwiLmMtc3RhZ2Uge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLS1tZWRpYS1oZWlnaHQ6ICN7cmVtLWNhbGMoNjA5cHgpfTtcclxuXHJcbiAgLy8gQmxvY2tcclxuXHJcbiAgLy8gRWxlbWVudHNcclxuICAmX19jb250YWluZXIge1xyXG4gICAgLS1pbmxpbmUtbWFyZ2luOiAje25lZ2F0aXYtaGFsZi1ndXR0ZXIobGFyZ2UpfTtcclxuICB9XHJcblxyXG4gICN7JGVsfV9fdGV4dC13cmFwcGVyIHtcclxuICAgIG1hcmdpbi1pbmxpbmU6IHJlbS1jYWxjKDQwcHgpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tIFZpZGVvLUJ1ZWhuZSAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAmI3smfS0tdmlkZW8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIHZpZGVvIHtcclxuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgI3skZWx9X192aWRlby1jb250cm9scyB7XHJcbiAgICAgIC0tb2Zmc2V0OiAje3JlbS1jYWxjKDQwcHgpfTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSBBbGxnZW1laW4gVmlkZW8tICYgQmlsZC1CdWVobmUgLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgJiN7Jn0tLXZpZGVvLFxyXG4gICYjeyZ9LS1pbWFnZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLy8gSGVscGVyIE1peGluLCBkYW1pdCBkZXIgQmxvY2sgZnVlciBtZWhyZXJlIEJyZWFrcG9pbnRzIGdlbmVyaWVydCB3ZXJkZW4ga2Fubi5cclxuICAgIC8vIERhIGRpZSBTdHlsZXMgbnVyIGZ1ZXIgbGFyZ2UgdW5kIHhsYXJnZSBnZWx0ZW4gc29sbGVuLCBoYWJlIGljaCBoaWVyIGRpZXNlbiBcIktuaWZmXCIgZWluZ2ViYXV0IDspXHJcbiAgICAvLyBBbHRlcm5hdGl2IGtvZW5udGUgbWFuIG1pdHRlbHMgZGVyIGJyZWFrcG9pbnQgRnVuY3Rpb24gc2ljaCBkaWUgZW50c3ByZWNoZW5kZSBNZWRpYSBRdWVyeSBzZWxic3QgenVzYW1tZW4gYmF1ZW5cclxuICAgIC8vIG9kZXIgZGVuIGtvbXBsZXR0ZW4gRGVmaW5pdGlvbnNibG9jayBqZXdlaWxzIGluIGJlaWRlbiBzY3NzIEZpbGVzIHNwaWVsZW4uLi4gI2Jsb2VkXHJcbiAgICBAbWl4aW4gX2hlYWRsaW5lU3R5bGVzKCRicmVha3BvaW50VmFsdWVzKSB7XHJcblxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50VmFsdWVzKSB7XHJcbiAgICAgICAgJjpub3QoI3skZWx9LS1zZWFyY2gpIHtcclxuXHJcbiAgICAgICAgICAuYy1oZWFkbGluZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgLy9ib3R0b206IHJlbS1jYWxjKDM1cHgpO1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiAzcmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6bm90KCN7JGVsfS0td2l0aC10ZXh0KSB7XHJcbiAgICAgICAgICAgIC5jLWhlYWRsaW5lIHtcclxuICAgICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgX2hlYWRsaW5lU3R5bGVzKGxhcmdlIG9ubHkpO1xyXG4gICAgQGluY2x1ZGUgX2hlYWRsaW5lU3R5bGVzKHhsYXJnZSBvbmx5KTtcclxuICB9XHJcblxyXG5cclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLSBBbGxnZW1laW4gVmlkZW8tICYgQmlsZC1CdWVobmUgLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgJiN7Jn0tLXdpdGgtdGV4dCB7XHJcbiAgICAuYy1oZWFkbGluZSB7XHJcbiAgICAgIC0taGVpZ2h0OiAje3JlbS1jYWxjKDE1MHB4KX07XHJcbiAgICAgIC0tdGV4dC1wb3NpdGlvbjogI3tyZW0tY2FsYygxMzBweCl9O1xyXG5cclxuICAgICAgYm90dG9tOiB1bnNldDtcclxuICAgICAgdG9wOiBjYWxjKHZhcigtLW1lZGlhLWhlaWdodCkgLSB2YXIoLS1oZWlnaHQpIC0gdmFyKC0tdGV4dC1wb3NpdGlvbikpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gU3VjaGUgLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiAgJiN7Jn0tLXNlYXJjaCB7XHJcblxyXG4gICAgLmMtaGVhZGxpbmUge1xyXG4gICAgICAvLyBUT0RPOiBXaWVkZXIgYXVmbmVobWVuLCBmYWxscyBhYiBsYXJnZSBkaWUgRmFyYmUgZG9jaCBuaWNodCB3ZWlzcyBzZWluIHNvbGwgKHMuIGViZW5mYWxscyBGYXJidmVybGF1ZiBhdWYgQmlsZC9WaWRlbylcclxuICAgICAgLy8tLWhlYWRsaW5lLWNvbG9yOiAjeyRrYnMta24tZGFyay1ncmV5fTtcclxuICAgICAgLS10ZXh0LXBvc2l0aW9uOiAje3JlbS1jYWxjKDI2NnB4KX07XHJcblxyXG4gICAgICBtYXJnaW4taW5saW5lOiAzcmVtO1xyXG4gICAgfVxyXG5cclxuICAgICN7JGVsfV9fc2VhcmNoLXdyYXBwZXIge1xyXG4gICAgICAtLXNlYXJjaGJhci13aWR0aDogI3tyZW0tY2FsYyg0MTVweCl9O1xyXG4gICAgICAtLXNlYXJjaGJhci1wb3NpdGlvbjogI3tyZW0tY2FsYygxNDhweCl9O1xyXG5cclxuICAgICAgbWFyZ2luLWlubGluZTogM3JlbTtcclxuXHJcbiAgICAgIGlucHV0LFxyXG4gICAgICBidXR0b24ge1xyXG4gICAgICAgIC0tc2VhcmNoYmFyLWhlaWdodDogI3tyZW0tY2FsYyg3MHB4KX07XHJcbiAgICAgICAgLS1zZWFyY2hiYXItZm9udC1zaXplOiAje3JlbS1jYWxjKDE4cHgpfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYjeyRlbH0tLWltYWdlLFxyXG4gICAgJiN7JGVsfS0tdmlkZW8ge1xyXG5cclxuICAgICAgLy8gVE9ETzogV2llZGVyIGF1Zm5laG1lbiwgZmFsbHMgYWIgbGFyZ2UgZG9jaCBrZWluZW4gRmFyYnZlcmxhdWYgYXVmIGRlbSBCaWxkL1ZpZGVvIGxpZWdlbiBzb2xsXHJcbiAgICAgIC8vJiAjeyRlbH1fX2ltYWdlLXdyYXBwZXIsXHJcbiAgICAgIC8vJiAjeyRlbH1fX3ZpZGVvLXdyYXBwZXIge1xyXG4gICAgICAvL1xyXG4gICAgICAvLyAgJjo6YmVmb3JlIHtcclxuICAgICAgLy8gICAgY29udGVudDogdW5zZXQ7XHJcbiAgICAgIC8vICAgIHRvcDogdW5zZXQ7XHJcbiAgICAgIC8vICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgICAvLyAgfVxyXG4gICAgICAvL31cclxuXHJcbiAgICAgICYjeyRlbH0tLXdpdGgtdGV4dCB7XHJcbiAgICAgICAgLS1fdGV4dC1wb3NpdGlvbjogY2FsYyh2YXIoLS1tZWRpYS1oZWlnaHQpICogLjMpO1xyXG4gICAgICAgIC0tX21heC10ZXh0LWhlaWdodDogI3tyZW0tY2FsYygyMjBweCl9O1xyXG5cclxuICAgICAgICAuYy1oZWFkbGluZSB7XHJcbiAgICAgICAgICAtLV90ZXh0LXBvc2l0aW9uOiBjYWxjKHZhcigtLW1lZGlhLWhlaWdodCkgKiAuNDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBQYXRjaCB0byBmaXggaXNzdWUgIzEyMDgwXG4kLXpmLXNpemU6IG51bGw7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtIGRpdmlkZSgxLCAkc3RkLXdlYi1kcGkpLCAtemYtYnAtdG8tZW0oJGJwLW5leHQpIC0gMC4wMDEyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJhdGUgdGhlIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIG1pbiBhbmQgbWF4IGxpbWl0cy5cbiAgQGlmICRoaWRwaSB7XG4gICAgLy8gR2VuZXJhdGUgdmFsdWVzIGluIERQSSBpbnN0ZWFkIG9mIERQUFggZm9yIGFuIElFOS0xMS9PcGVyYSBtaW5pIGNvbXBhdGliaWxpdHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgICAkYnAtbWluLWRwaTogaWYoJGJwLW1pbiwgJGJwLW1pbiAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1taW4pO1xuICAgICRicC1tYXgtZHBpOiBpZigkYnAtbWF4LCAkYnAtbWF4ICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1heCk7XG4gICAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgsICctd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8nLCAnLXdlYmtpdC1tYXgtZGV2aWNlLXBpeGVsLXJhdGlvJyksXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLWRwaSwgJGJwLW1heC1kcGksICdtaW4tcmVzb2x1dGlvbicsICdtYXgtcmVzb2x1dGlvbicpLFxuICAgICAgJywgJyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCk7XG4gIH1cbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBhbmQgYCRicmVha3BvaW50cy1oaWRwaWAgbWFwcywgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIElmIG11bHRpcGxlIHZhbHVlcyBhcmUgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBnZW5lcmF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBlYWNoIG9mIHRoZW0gYXMgZGVzY3JpYmVkIGFib3ZlLlxuLy8vIFNpbmNlIHRoZSBjb250ZW50IGlzIGR1cGxpY2F0ZWQgZm9yIGVhY2ggYnJlYWtwb2ludCwgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggcHJvcGVydGllcyB0aGF0XG4vLy8gY2hhbmdlIGFjcm9zcyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZXMuLi4gLSBCcmVha3BvaW50IG5hbWUgb3IgcHgvcmVtL2VtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZXMuLi4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHZhbHVlcykge1xuICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcbiAgICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsIG50aCgkdmFsdWUsIDEpKTtcbiAgICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcbiAgICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAgICRkaXI6IGlmKGxlbmd0aCgkdmFsdWUpID4gMSwgbnRoKCR2YWx1ZSwgMiksIHVwKTtcblxuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAgIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAgIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICAgIC8vIGdlbmVyYXRlIHByaW50IGlmIHRoZSBicmVha3BvaW50IGFmZmVjdHMgdGhlIHByaW50LWJyZWFrcG9pbnQgKG9yIHNtYWxsZXIpLlxuICAgICAgLy8gVGhpcyBtZWFucyB0aGUgY3VycmVudCBjb25kaXRpb24gb25seSBuZWVkcyB0byBiZSBleHRlbmRlZCBzbyAnZG93bicgYWx3YXlzIGdlbmVyYXRlcyBwcmludC5cbiAgICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgKCRicCA8PSAkcGJwIG9yICRkaXIgPT0gZG93bikge1xuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBudW1iZXIgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgbnVtYmVyIGZvbGxvd2luZyBgJG51bWJlcmAsIGlmIGAkbnVtYmVyYCB3YXMgZm91bmQuIElmIGAkbnVtYmVyYCB3YXMgbm90IGZvdW5kLCBvciBgJG51bWJlcmAgd2FzIHRoZSBiaWdnZXN0IG51bWJlciBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQtbnVtYmVyKCRtYXAsICRudW1iZXIpIHtcblxuICAkbmV4dC1udW1iZXI6IG51bGw7XG5cbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSAnbnVtYmVyJyBhbmQgJHYgPiAkbnVtYmVyIGFuZCAoJG5leHQtbnVtYmVyID09IG51bGwgb3IgJHYgPCAkbmV4dC1udW1iZXIpIHtcbiAgICAgICRuZXh0LW51bWJlcjogJHY7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV4dC1udW1iZXI7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmQta2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kLWtleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmQta2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8vIFJldHVybiB0aGUgYmVzdCBicmVha3BvaW50IHRvIHVzZSBhY2NvcmRpbmcgdG8gdGhlIGNhbGxpbmcgY29udGV4dC4gSXQgcmV0dXJucyBpbiBvcmRlcjpcbi8vLyAxLiB0aGUgZ2l2ZW4gYCR2YWx1ZWAgYXJndW1lbnQgaWYgaXQgaXMgbm90IG51bGwuXG4vLy8gMi4gdGhlIGdsb2JhbCBicmVha3BvaW50IGNvbnRleHQgYCQtemYtc2l6ZWAgaWYgaXQgaXMgbm90IG51bGwgKGxpa2UgaWYgY2FsbGVkIGluc2lkZSB0aGVuIGBicmVha3BvaW50KClgIG1peGluKVxuLy8vIDMuIHRoZSBnaXZlbiBgJGRlZmF1bHRgIGFyZ3VtZW50LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgaW4gcHJpb3JpdHkgaWYgbm9uLW51bGwuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGVmYXVsdCBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBieSBkZWZhdWx0IGlmIG5vIG90aGVyIHZhbHVlIGNhbiBiZSB1c2VkLlxuLy8vXG4vLy8gQHJldHVybiB7S2V5d29yZH0gVGhlIHJlc29sdmVkIGJyZWFrcG9pbnQuXG5AZnVuY3Rpb24gLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkdmFsdWU6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gIEBpZiAoJHZhbHVlICE9IG51bGwpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgIEByZXR1cm4gJC16Zi1zaXplO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRkZWZhdWx0O1xuICB9XG59XG5cbi8vLyBSZXR1cm4gbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gdGhlIGdpdmVuIG1pbiBhbmQvb3IgbWF4IGxpbWl0cy5cbi8vLyBJZiBhIGxpbWl0IGlzIGVxdWFsIHRvIGBudWxsYCBvciBgMGAsIGl0IGlzIGlnbm9yZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1pbiBbMF0gLSBNaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggWzBdIC0gTWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWluLW5hbWUgWydtaW4td2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbJ21heC13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWF4IG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gTWVkaWEgUXVlcnkgc3RyaW5nLlxuQGZ1bmN0aW9uIC16Zi1icC1qb2luKFxuICAkbWluOiAwLFxuICAkbWF4OiAwLFxuICAkbWluLW5hbWU6ICdtaW4td2lkdGgnLFxuICAkbWF4LW5hbWU6ICdtYXgtd2lkdGgnXG4pIHtcbiAgQHJldHVybiB6Zi1zdHItam9pbihcbiAgICBpZigkbWluIGFuZCAkbWluID4gMCwgJygjeyRtaW4tbmFtZX06ICN7JG1pbn0pJywgbnVsbCksXG4gICAgaWYoJG1heCBhbmQgJG1heCA+IDAsICcoI3skbWF4LW5hbWV9OiAjeyRtYXh9KScsIG51bGwpLFxuICAgICcgYW5kICcpO1xufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIuYy1zdGVwLWJ5LXN0ZXAge1xyXG4gICRlbDogJjtcclxuXHJcbiAgPiAmX193cmFwcGVyIHtcclxuICAgID4gI3skZWx9X19pdGVtIHtcclxuXHJcbiAgICAgICY6bm90KDpudGgtb2YtdHlwZSgxKSl7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtYXNrLWltYWdlKGNoZXZyb24tcmlnaHQpO1xyXG4gICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4yNTIsIDEuNDMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtb2YtdHlwZSgxKXtcclxuICAgICAgICA+ICN7JGVsfV9faXRlbVdyYXBwZXIge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMHB4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtb2YtdHlwZSgyKXtcclxuICAgICAgICA+ICN7JGVsfV9faXRlbVdyYXBwZXIge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDVweCk7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDVweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLW9mLXR5cGUoMyl7XHJcbiAgICAgICAgPiAjeyRlbH1fX2l0ZW1XcmFwcGVyIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgPiAjeyRlbH1fX2l0ZW1XcmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDEwcHgpO1xyXG5cclxuICAgICAgICA+ICN7JGVsfV9faXRlbUljb25BcmVhIHtcclxuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTA3cHgpO1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMTA3cHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAjeyRlbH1fX2l0ZW1Db250ZW50IHtcclxuICAgICAgICAgID4gLnN0ZXAtaW5kZXgge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDc1cHgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDVweCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgPiAuc3RlcC1jb250ZW50IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNnB4KTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE0cHgpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3cHgpO1xyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIycHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiLmMtc3RpY2t5LWZhcSB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAtLWhpbnQtcG9zaXRpb24teDogLTQuOXJlbTtcclxuICAtLWhpbnQtcG9zaXRpb24teTogLTIuNXJlbTtcclxuXHJcbiAgLS1ib3gtcGFkZGluZzogNi42cmVtIDIuOHJlbSA1LjJyZW07XHJcbiAgLS1oaW50LXBhZGRpbmc6IC43cmVtIDIuNXJlbSAyLjFyZW0gNi42cmVtO1xyXG5cclxuICAvLyBCbG9ja1xyXG4gIHJpZ2h0OiAwO1xyXG5cclxuICAvLyBFbGVtZW50c1xyXG4gICZfX2Nsb3NlIHtcclxuICAgIHRvcDogMS4xcmVtO1xyXG4gICAgcmlnaHQ6IDEuNnJlbTtcclxuICB9XHJcblxyXG4gICZfX2hpbnQge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICBsZWZ0OiAycmVtO1xyXG4gICAgfVxyXG5cclxuICAgICoge1xyXG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3dyYXBwZXIge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBtaW4td2lkdGg6IDQxN3B4O1xyXG4gIH1cclxuXHJcbiAgJl9faGVhZGxpbmUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogMi43cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgdG9wOiAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUtY29udHJvbCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNb2RpZmllclxyXG5cclxuICAvLyBTY29wZVxyXG59XHJcbiIsIi5jLXN0aWNreS1uYXYge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLS1idXR0b24tYm9yZGVyOiAxLjdweCBzb2xpZCAjeyRjb2xvci13aGl0ZX07XHJcbiAgLS1idXR0b24tc2l6ZTogNXJlbTtcclxuICAtLXBvc2l0aW9uLXg6IDI1cHg7XHJcblxyXG4gIC8vIEJsb2NrXHJcbiAgbWF4LXdpZHRoOiAkbGFyZ2Utc2NyZWVuO1xyXG5cclxuXHJcbiAgLy8gRWxlbWVudHNcclxuICAmX19pdGVtIHtcclxuICAgICYgKyAjeyRlbH1fX2l0ZW0ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuICAvLyBTY29wZVxyXG59XHJcbkBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XHJcbiAgLmMtc3RpY2t5LW5hdiB7XHJcbiAgICAtLXBvc2l0aW9uLXk6IDI1NnB4O1xyXG4gIH1cclxufVxyXG4iLCIvLyBGYXJiZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQGltcG9ydCAnY29sb3JzJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAuNjI1cmVtO1xyXG4kZ2xvYmFsLXdpZHRoOiAxMzFlbTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XHJcbiR3aGl0ZTogJGNvbG9yLXdoaXRlO1xyXG4kYmxhY2s6ICRjb2xvci1ibGFjaztcclxuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiAnS29oaW5vb3IgS0JTJywgQ2FsaWJyaSwgJ0Ryb2lkIFNhbnMnLCBBcmlhbCwgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaXVtLXNjcmVlbjogMzZlbTsgLy8gNTc2cHhcclxuJGxhcmdlLXNjcmVlbjogNDhlbTsgLy8gNzY4cHggLSBUYWJsZXRcclxuLy8keGxhcmdlLXNjcmVlbjogNjQuMTI1ZW07IC8vIDEwMjZweFxyXG4keGxhcmdlLXNjcmVlbjogNjRlbTsgLy8gMTAyNHB4XHJcbiR4eGxhcmdlLXNjcmVlbjogNzVlbTsgLy8gMTIwMHB4IC0gRGVza3RvcFxyXG4keHh4bGFyZ2Utc2NyZWVuOiA4Ny41ZW07IC8vIDE0MDBweFxyXG4keHh4eGxhcmdlLXNjcmVlbjogMTIwZW07IC8vIDE5MjBweFxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgc21hbGw6IDAsXHJcbiAgbWVkaXVtOiAkbWVkaXVtLXNjcmVlbixcclxuICBsYXJnZTogJGxhcmdlLXNjcmVlbixcclxuICB4bGFyZ2U6ICR4bGFyZ2Utc2NyZWVuLFxyXG4gIHh4bGFyZ2U6ICR4eGxhcmdlLXNjcmVlbixcclxuICB4eHhsYXJnZTogJHh4eGxhcmdlLXNjcmVlbixcclxuICB4eHh4bGFyZ2U6ICR4eHh4bGFyZ2Utc2NyZWVuXHJcbik7XHJcblxyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlIHh4eGxhcmdlIHh4eHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDJlbSxcclxuICBtZWRpdW06IDJlbSxcclxuICBsYXJnZTogMi40ZW0sIC8vVGFibGV0XHJcbiAgeGxhcmdlOiAyLjRlbSxcclxuICB4eGxhcmdlOiAzZW0gLy9EZXNrdG9wXHJcbik7XHJcblxyXG4vL291dGVyIG1hcmdpblxyXG4kZ3JpZC1jb2x1bW4tb3V0ZXItZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDFlbSxcclxuICBtZWRpdW06IDFlbSxcclxuICBsYXJnZTogMi44ZW0sIC8vVGFibGV0XHJcbiAgeGxhcmdlOiAyLjhlbVxyXG4gIC8veHhsYXJnZSBpcyBjZW50ZXJlZFxyXG4pO1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJ0tvaGlub29yIEtCUycsIENhbGlicmksICdEcm9pZCBTYW5zJywgQXJpYWwsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuJGhlYWRlci1mb250LXdlaWdodDogbm9ybWFsO1xyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuMjtcclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAxO1xyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDMwLCAnbGluZS1oZWlnaHQnOiAxLjMzMywgJ21hcmdpbi10b3AnOiAxMnB4LCAnbWFyZ2luLWJvdHRvbSc6IDIwcHgpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyNSwgJ2xpbmUtaGVpZ2h0JzogMS40LCAnbWFyZ2luLXRvcCc6IDEycHgsICdtYXJnaW4tYm90dG9tJzogMjBweCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAxLjUsICdtYXJnaW4tdG9wJzogMTJweCwgJ21hcmdpbi1ib3R0b20nOiAyMHB4KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgsICdsaW5lLWhlaWdodCc6IDEuNTU1LCAnbWFyZ2luLXRvcCc6IDEycHgsICdtYXJnaW4tYm90dG9tJzogMjBweCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE2LCAnbGluZS1oZWlnaHQnOiAxLjYyNSwgJ21hcmdpbi10b3AnOiAxMnB4LCAnbWFyZ2luLWJvdHRvbSc6IDIwcHgpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiwgJ2xpbmUtaGVpZ2h0JzogMS42MjUsICdtYXJnaW4tdG9wJzogMTJweCwgJ21hcmdpbi1ib3R0b20nOiAyMHB4KSxcclxuICAgICdoNyc6ICgnZm9udC1zaXplJzogMTYsICdsaW5lLWhlaWdodCc6IDEuNjI1LCAnbWFyZ2luLXRvcCc6IDEycHgsICdtYXJnaW4tYm90dG9tJzogMjBweCksXHJcbiAgKSxcclxuICBsYXJnZTogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0MCwgJ2xpbmUtaGVpZ2h0JzogMS4yNSwgJ21hcmdpbi10b3AnOiAxMnB4LCAnbWFyZ2luLWJvdHRvbSc6IDIwcHgpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMCwgJ2xpbmUtaGVpZ2h0JzogMS4zMzMsICdtYXJnaW4tdG9wJzogMTJweCwgJ21hcmdpbi1ib3R0b20nOiAyMHB4KSxcclxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjUsICdsaW5lLWhlaWdodCc6IDEuNCwgJ21hcmdpbi10b3AnOiAxMnB4LCAnbWFyZ2luLWJvdHRvbSc6IDIwcHgpLFxyXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyMCwgJ2xpbmUtaGVpZ2h0JzogMS41LCAnbWFyZ2luLXRvcCc6IDEycHgsICdtYXJnaW4tYm90dG9tJzogMjBweCksXHJcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAxLjUsICdtYXJnaW4tdG9wJzogMTJweCwgJ21hcmdpbi1ib3R0b20nOiAyMHB4KSxcclxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTgsICdsaW5lLWhlaWdodCc6IDEuNTU1LCAnbWFyZ2luLXRvcCc6IDEycHgsICdtYXJnaW4tYm90dG9tJzogMjBweCksXHJcbiAgICAnaDcnOiAoJ2ZvbnQtc2l6ZSc6IDE4LCAnbGluZS1oZWlnaHQnOiAxLjU1NSwgJ21hcmdpbi10b3AnOiAxMnB4LCAnbWFyZ2luLWJvdHRvbSc6IDIwcHgpLFxyXG4gICksXHJcbiAgeHhsYXJnZTogKFxyXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA1MCwgJ2xpbmUtaGVpZ2h0JzogMS4yLCAnbWFyZ2luLXRvcCc6IDEycHgsICdtYXJnaW4tYm90dG9tJzogMjBweCksXHJcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwLCAnbGluZS1oZWlnaHQnOiAxLjI1LCAnbWFyZ2luLXRvcCc6IDEycHgsICdtYXJnaW4tYm90dG9tJzogMjBweCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMyLCAnbGluZS1oZWlnaHQnOiAxLjMxMjUsICdtYXJnaW4tdG9wJzogMTJweCwgJ21hcmdpbi1ib3R0b20nOiAyMHB4KSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUsICdsaW5lLWhlaWdodCc6IDEuNCwgJ21hcmdpbi10b3AnOiAxMnB4LCAnbWFyZ2luLWJvdHRvbSc6IDIwcHgpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCwgJ2xpbmUtaGVpZ2h0JzogMS41LCAnbWFyZ2luLXRvcCc6IDEycHgsICdtYXJnaW4tYm90dG9tJzogMjBweCksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAxLjU1NSwgJ21hcmdpbi10b3AnOiAxMnB4LCAnbWFyZ2luLWJvdHRvbSc6IDIwcHgpXHJcbiAgKVxyXG4pO1xyXG5cclxuLy8gRG9rdW1lbnRhdGlvbiBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdHlwb2dyYXBoeS1iYXNlLmh0bWwjaGVhZGVyXHJcbi8vIGxpbmUtaGVpZ2h0IGJla29tbXQgZGllIFNjaHJpZnRncsO2w59lIGluIHB4IHVuZCBaZWlsZW5ow7ZoZSBpbiBweC4gWnVyw7xjayBrb21tdCBlaW5lIEZsaWXDn2tvbW1hemFobCBtaXQgZWluZXIgTmFjaGtvbW1hc3RlbGxlXHJcblxyXG4vLyRoZWFkZXItc3R5bGVzOiAoXHJcbi8vICBzbWFsbDogKFxyXG4vLyAgICAnaDEnOiAoJ2ZzJzogMjYsICdsaCc6IGxpbmUtaGVpZ2h0KDI2LCAzMSksICdtdCc6IDAsICdtYic6IDEwKSxcclxuLy8gICAgJ2gyJzogKCdmcyc6IDIyLCAnbGgnOiBsaW5lLWhlaWdodCgyMiwgMjYpLCAnbXQnOiAwLCAnbWInOiAxMCksXHJcbi8vICAgICdoMyc6ICgnZnMnOiAyMCwgJ2xoJzogbGluZS1oZWlnaHQoMjAsIDI0KSwgJ210JzogMCwgJ21iJzogMTApLFxyXG4vLyAgICAnaDQnOiAoJ2ZzJzogMTgsICdsaCc6IGxpbmUtaGVpZ2h0KDE4LCAyMiksICdtdCc6IDAsICdtYic6IDEwKSxcclxuLy8gICAgJ2g1JzogKCdmcyc6IDE1LCAnbGgnOiBsaW5lLWhlaWdodCgxNSwgMTgpLCAnbXQnOiAwLCAnbWInOiAxMCksXHJcbi8vICAgICdoNic6ICgnZnMnOiAxNSwgJ2xoJzogbGluZS1oZWlnaHQoMTUsIDE4KSwgJ210JzogMCwgJ21iJzogMTApLFxyXG4vLyAgKSxcclxuLy8gIG1lZGl1bTogKFxyXG4vLyAgICAnaDEnOiAoJ2ZzJzogNTQsICdsaCc6IGxpbmUtaGVpZ2h0KDU0LCA2NCksICdtdCc6IDAsICdtYic6IDE1KSxcclxuLy8gICAgJ2gyJzogKCdmcyc6IDMyLCAnbGgnOiBsaW5lLWhlaWdodCgzMiwgNDApLCAnbXQnOiAwLCAnbWInOiAxNSksXHJcbi8vICAgICdoMyc6ICgnZnMnOiAyNCwgJ2xoJzogbGluZS1oZWlnaHQoMjQsIDI5KSwgJ210JzogMCwgJ21iJzogMTUpLFxyXG4vLyAgICAnaDQnOiAoJ2ZzJzogMjIsICdsaCc6IGxpbmUtaGVpZ2h0KDIyLCAyNiksICdtdCc6IDAsICdtYic6IDE1KSxcclxuLy8gICAgJ2g1JzogKCdmcyc6IDE4LCAnbGgnOiBsaW5lLWhlaWdodCgxOCwgMjQpLCAnbXQnOiAwLCAnbWInOiAxNSksXHJcbi8vICAgICdoNic6ICgnZnMnOiAxOCwgJ2xoJzogbGluZS1oZWlnaHQoMTgsIDI0KSwgJ210JzogMCwgJ21iJzogMTUpLFxyXG4vLyAgKSxcclxuLy8gIGxhcmdlOiAoXHJcbi8vICAgICdoMSc6ICgnZnMnOiA4MCwgJ2xoJzogbGluZS1oZWlnaHQoODAsIDgwKSwgJ210JzogMCwgJ21iJzogMzApLFxyXG4vLyAgICAnaDInOiAoJ2ZzJzogNDAsICdsaCc6IGxpbmUtaGVpZ2h0KDQwLCA0NyksICdtdCc6IDAsICdtYic6IDMwKSxcclxuLy8gICAgJ2gzJzogKCdmcyc6IDMwLCAnbGgnOiBsaW5lLWhlaWdodCgzMCwgMzYpLCAnbXQnOiAwLCAnbWInOiAyNSksXHJcbi8vICAgICdoNCc6ICgnZnMnOiAyNCwgJ2xoJzogbGluZS1oZWlnaHQoMjQsIDI5KSwgJ210JzogMCwgJ21iJzogMjApLFxyXG4vLyAgICAnaDUnOiAoJ2ZzJzogMTgsICdsaCc6IGxpbmUtaGVpZ2h0KDE4LCAyNCksICdtdCc6IDAsICdtYic6IDE1KSxcclxuLy8gICAgJ2g2JzogKCdmcyc6IDE4LCAnbGgnOiBsaW5lLWhlaWdodCgxOCwgMjQpLCAnbXQnOiAwLCAnbWInOiAxNSlcclxuLy8gIClcclxuLy8pO1xyXG5cclxuJGxpc3QtbGluZWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAwO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMDtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAwO1xyXG4kcHJpbnQtaHJlZnM6IHRydWU7XHJcbiRwcmludC1icmVha3BvaW50OiBtZWRpdW07XHJcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnJztcclxuIiwiLmMtdGVhc2VyLXNsaWRlciB7XHJcbiAgJGVsOiAmO1xyXG4gICRlbC1zbGlkZXI6ICcuYy1zbGlkZXNob3ctbmF2aWdhdGlvbic7XHJcblxyXG4gIC0tZG90cy1vZmZzZXQteTogMy42cmVtO1xyXG5cclxuICAvLyBCbG9ja1xyXG4gIC8vIEVsZW1lbnRzXHJcbiAgI3skZWwtc2xpZGVyfS0tZG90cyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgcGFkZGluZzogMTBweCAyNnB4O1xyXG5cclxuICB9XHJcbiAgLy8gTW9kaWZpZXJcclxuXHJcbiAgLy8gU2NvcGVcclxuXHJcbn1cclxuIiwiLmMtdGVhc2VyIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC8vIEJsb2NrXHJcblxyXG4gIC8vIEVsZW1lbnRcclxuICAmX193cmFwcGVyIHtcclxuICAgIHBhZGRpbmc6IDE4cHggMjRweCAyN3B4IDE4cHg7XHJcbiAgICBtaW4taGVpZ2h0OiAyMTNweDtcclxuICB9XHJcblxyXG4gICZfX21ldGEge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICB9XHJcblxyXG4gICZfX2hlYWRsaW5lIHtcclxuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMztcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgICBoZWlnaHQ6IDMxM3B4O1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIE1vZGlmaWVyXHJcblxyXG4gIC8vIFNjb3BlXHJcbn1cclxuIiwiLmMtdG9nZ2xlLWZhcSB7XHJcbiAgJGVsOiAmO1xyXG4gIC0tZm9udC1zaXplOiAxLjZyZW07XHJcblxyXG4gIC8vIEJsb2NrXHJcblxyXG4gIC8vIEVsZW1lbnRzXHJcbiAgJl9fY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVyZW07XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBidXR0b24ge1xyXG4gICAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbSAxLjVyZW0gMy43cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbW9yZS1saW5rIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIG1hcmdpbjogN3JlbSBhdXRvIDA7XHJcbiAgfVxyXG5cclxuICAvLyBNb2RpZmllclxyXG4gIC8vIFNjb3BlXHJcbn1cclxuIiwiLmMtdG9wLXNlcnZpY2VzIHtcclxuICAkZWw6ICY7XHJcbiAgJGN1dG91dC13aWR0aDogMzA1cHg7XHJcbiAgJGN1dG91dC1oZWlnaHQ6IDMwcHg7XHJcblxyXG4gIC0tdGFicy1jb250YWluZXItbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgLy8gQmxvY2tcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC8vIEVsZW1lbnRzXHJcbiAgJl9faW50cm8ge1xyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGFicyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgIG1pbi1oZWlnaHQ6IDM2OHB4O1xyXG4gICAgcGFkZGluZzogMCAyLjVyZW07XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xyXG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDAlLCAxMDAlIGNhbGMoMTAwJSAtICN7JGN1dG91dC1oZWlnaHR9KSwgY2FsYygxMDAlIC0gI3skY3V0b3V0LXdpZHRofSkgY2FsYygxMDAlIC0gI3skY3V0b3V0LWhlaWdodH0pLCBjYWxjKDEwMCUgLSAjeyRjdXRvdXQtd2lkdGh9KSAxMDAlLCAwJSAxMDAlKTtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgaGVpZ2h0OiAkY3V0b3V0LWhlaWdodDtcclxuICAgICAgd2lkdGg6ICRjdXRvdXQtd2lkdGg7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IpO1xyXG4gICAgfVxyXG5cclxuICAgICYtbGlzdCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1pdGVtIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYtbGluayB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwMHB4IDVweCAyNXB4IDVweCk7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiByZW0tY2FsYyg1MHB4KTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWN0aXZlLWNvbnRyb2wge1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgbWFzay1pbWFnZTogbm9uZTtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJvcmRlci1hY3RpdmUtY29sb3IpO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLW9wZW5lciB7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAtMjAwMHB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgICYtY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZzogMi41cmVtIDNyZW0gM3JlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLXBhbmVsIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XHJcblxyXG4gICAgICAmLWxpc3Qge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiByZW0tY2FsYygyMHB4IDUwcHgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNb2RpZmllclxyXG5cclxuICAvLyBTY29wZVxyXG5cclxufVxyXG4iLCIuYy10b3AtdGVhc2VyIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC0td3JhcHBlci1ibG9jay1wYWRkaW5nOiAje3JlbS1jYWxjKDE4cHggNTNweCl9O1xyXG5cclxuICAvLyBCbG9ja1xyXG4gIC8vIEVsZW1lbnRzXHJcblxyXG4gICZfX2hlYWRsaW5lIHtcclxuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fdG9wbGluZSB7XHJcblxyXG4gICAgc3BhbixcclxuICAgIHN0cm9uZyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xyXG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg4cHggMTRweCA4cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0cm9uZyB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE0cHgpO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWJyZWFrb3V0IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDVyZW07XHJcbiAgICAgIHRleHQtaW5kZW50OiAtNXJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX21ldGEge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gIH1cclxuXHJcbiAgJl9fdGV4dCB7XHJcbiAgICAqIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgJjpub3QoW2NsYXNzXSkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbGluayB7XHJcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogcmVtLWNhbGMoMjFweCk7XHJcbiAgfVxyXG5cclxuICAvLyBNb2RpZmllclxyXG4gIC8vIFNjb3BlXHJcblxyXG59XHJcbiIsIi5jLXVtZnJhZ2Uge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLmVycm9ySnVtcExpbmtzIHtcclxuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IDVyZW07XHJcbiAgfVxyXG5cclxufVxyXG4iLCIuYy11c3AtYmFyIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC8vIEJsb2NrXHJcbiAgcGFkZGluZy1ibG9jazogcmVtLWNhbGMoMTJweCk7XHJcblxyXG4gIC8vIEVsZW1lbnRcclxuICAmX193cmFwcGVyIHtcclxuICAgIC5zbGljay1saXN0IHtcclxuICAgICAgbWFyZ2luOiAwIDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLXRyYWNrIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IG5vcm1hbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3NsaWRlIHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyOHB4IDIwcHgpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICA+ICN7JGVsfV9fbGluayB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcGFkZGluZy1pbmxpbmU6IHJlbS1jYWxjKDIwcHgpO1xyXG4gICAgICBwYWRkaW5nLWJsb2NrOiByZW0tY2FsYygyOHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhhcygjeyRlbH1fX2xpbmspIHtcclxuICAgICAgcGFkZGluZy1pbmxpbmU6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuXHJcbiAgLy8gU2NvcGVcclxuXHJcbn1cclxuIiwiLmMtdmVydGVpbGVya2FjaGVsbiB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAvLyBCbG9ja1xyXG4gIC5yb3cge1xyXG4gICAgPiAuY29sdW1ucyB7XHJcbiAgICAgICY6bm90KDpudGgtb2YtdHlwZShuKzQpKXtcclxuICAgICAgICA+IC5jLXZlcnRlaWxlcmthY2hlbCB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtb2YtdHlwZShuKzQpe1xyXG4gICAgICAgID4gLmMtdmVydGVpbGVya2FjaGVsIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRWxlbWVudHNcclxuXHJcbiAgLy8gTW9kaWZpZXJcclxuXHJcbiAgLy8gU2NvcGVcclxuXHJcbn1cclxuIiwiLmMtdm9ydGVpbHNyZWNobmVyIHtcclxuICAkZWw6ICY7XHJcblxyXG4gIC5qcy1hY2NvcmRpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNTBweCk7XHJcblxyXG4gICAgPiAuYy1hY2NvcmRpb24tY29udGFpbmVyIHtcclxuXHJcbiAgICAgID4gLmMtYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAjeyRlbH1fX2l0ZW1UaXRsZSB7XHJcblxyXG4gICAgICAgICAgPiAjeyRlbH1fX2l0ZW1JbWFnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiLnRvb2x0aXAtY29udGVudCB7XHJcblxyXG4gIG1heC13aWR0aDogcmVtLWNhbGMoNTIwcHgpO1xyXG59XHJcbiIsIi5sLWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgJGVsOiAmO1xyXG5cclxuICAtLWJhc2UtY29udGVudC1nYXAtYm90dG9tOiA3LjNyZW07XHJcbiAgLS1jb250ZW50LWdhcC1ib3R0b206IDcuM3JlbTtcclxuXHJcblxyXG4gIC8vIEJsb2NrXHJcblxyXG4gIC8vIEVsZW1lbnRzXHJcbiAgJl9fY29udGVudCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICB9XHJcblxyXG4gICZfX2hlYWRsaW5lIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgfVxyXG5cclxuICAmX190ZXh0IHtcclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSW5uZXIgQ29udGFpbmVyIC0+IEZvciBleGFtcGxlIGZvciBGb3Jtc1xyXG4gID4gLmZvcm1Db250YWluZXIge1xyXG4gICAgcGFkZGluZzogcmVtLWNhbGMoMCAxMDBweCk7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTY29wZVxyXG5cclxufVxyXG4iLCIubC1jdXRvdXQge1xyXG4gICRlbDogJjtcclxuXHJcbiAgLS1jdXRvdXQtd2lkdGg6ICN7cmVtLWNhbGMoNzdweCl9O1xyXG4gIC0tY3V0b3V0LWhlaWdodDogI3tyZW0tY2FsYygxMHB4KX07XHJcblxyXG4gIC8vIEJsb2NrXHJcblxyXG4gIC8vIEVsZW1lbnRzXHJcblxyXG4gIC8vIE1vZGlmaWVyXHJcbiAgJi0tbGFyZ2UtdXAge1xyXG4gICAgY2xpcC1wYXRoOiB2YXIoLS1jdXRvdXQtY2xpcC1wYXRoKTtcclxuICB9XHJcblxyXG4gICYtLXh4bGFyZ2UtdXAge1xyXG4gICAgY2xpcC1wYXRoOiBub25lO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIFNjb3BlXHJcbiAgJi5jLWNhcmQtc2xpZGVyX19zbGlkZSB7XHJcbiAgICAtLWN1dG91dC13aWR0aDogI3tyZW0tY2FsYyg1OXB4KX07XHJcbiAgfVxyXG59XHJcbiIsIi8vIGludmlzaWJsZSBlbGVtZW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ubC1oZWFkZXIge1xyXG4gICRlbDogJjtcclxuXHJcbiAgJl9fd3JhcHBlciB7XHJcbiAgICAtLWhlYWRlci13cmFwcGVyLXBhZGRpbmc6ICN7cmVtLWNhbGMoMzBweCl9O1xyXG4gICAgLS1oZWFkZXItd3JhcHBlci1taW4taGVpZ2h0OiAje3JlbS1jYWxjKDczcHgpfTtcclxuICAgIC0taGVhZGVyLXdyYXBwZXItbWluLWhlaWdodC1kZWtvOiAje3JlbS1jYWxjKDhweCl9O1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDdyZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbG9nbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ibG9jazogMS40cmVtIC4zcmVtO1xyXG5cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1heC13aWR0aDogMjAuNXJlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiIsIi5tZnAtY29udGVudCB7XHJcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgLy9tYWduaWZpYyBzdHlsZXNcclxufVxyXG4iLCIuaC1leHBhbmQge1xyXG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xyXG4gIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcclxufVxyXG4iXX0= */ 