@import url(https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400&display=swap);

@font-face {
    font-family: Rodchenko;
    src: url("/static/msexpo.ru/static/fonts/Rodchenko.ttf")
}

html {
    font-family: Rodchenko, sans-serif;
    font-weight: 400;
    line-height: 1;
    color: #fff;
    font-size: 16px
}

@media only screen and (min-width: 1025px) and (max-width: 1200px) {
    html {
        font-size: .9375rem
    }
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    html {
        font-size: calc((100vw / 64))
    }
}

@media only screen and (max-width: 450px) {
    html {
        font-size: calc((100vw / 28.125))
    }
}

body {
    margin: 0;
    position: relative;
    background: #253238
}

main {
    padding-top: 6.6875rem;
    position: relative
}

input::-webkit-inner-spin-button, input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type=number] {
    -moz-appearance: textfield
}

li, ul {
    margin: 0;
    padding: 0;
    list-style: none
}

a {
    text-decoration: none;
    color: inherit
}

:focus {
    outline: 0
}

*, ::after, ::before {
    box-sizing: border-box
}

.container {
    margin: 0 auto;
    padding: 0 2.5rem;
    max-width: 76.25rem
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .container {
        padding: 0 1.875rem
    }
}

@media only screen and (max-width: 720px) {
    .container {
        padding: 0 .9375rem
    }
}

.content {
    padding: 1.875rem 0 5.3125rem;
    position: relative
}

.content.overflow-hidden {
    overflow: hidden
}

.background-layout {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 24.375rem;
    z-index: -1;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-pack: justify;
    justify-content: space-between
}

.background-layout svg {
    height: 100%;
    width: 35rem
}

@media only screen and (max-width: 1025px) {
    .background-layout {
        display: none
    }

    .header .header-bottom__block.center {
        margin: 0 auto
    }
}

.background-layout.fullheight {
    display: block;
    height: 100%
}

.background-layout.fullheight img {
    transform: scale(2.5)
}

img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

.swiper {
    height: 100%
}

.swiper-slide {
    cursor: grab
}

.swiper-wrapper {
    -o-box-align: center;
    align-items: center
}

.swiper-pagination-bullet {
    --swiper-pagination-bullet-horizontal-gap: 0.5625rem;
    --swiper-pagination-bullet-width: 0.75rem;
    --swiper-pagination-bullet-height: 0.75rem;
    --swiper-pagination-bullet-inactive-color: #90a4af;
    --swiper-pagination-color: #e6792d
}

.mainpage-link {
    margin-bottom: 1.25rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-align: center;
    align-items: center;
    color: #758791
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .content {
        padding: 1.5rem 0 3rem
    }

    .mainpage-link {
        display: none
    }
}

.mainpage-link svg {
    margin-left: .1875rem
}

.header {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 10;
    background-color: #253238
}

.header .header-top {
    padding: .8125rem 0
}

.header .header-top__list {
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-align: center;
    align-items: center;
    -o-box-pack: justify;
    justify-content: space-between
}

.header .header-top__item {
    font-size: 1rem
}

.header .header-bottom {
    padding: .625rem 0;
    background: #1a282e;
    transition: height .3s
}

.header .header-bottom__row {
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-align: center;
    align-items: center
}

.header .header-bottom.active #header-organizers span {
    color: #e6792d
}

.header .header-bottom.active .header-nav__submenu {
    pointer-events: initial;
    transform: translateY(0);
    opacity: 1;
    -ms-filter: none;
    filter: none
}

.header-logo {
    display: block;
    width: 10.9375rem;
    height: 2.8125rem
}

.header-nav {
    margin: 0 auto;
    padding: 0 2.5rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-align: center;
    align-items: center;
    -moz-column-gap: 4.375rem;
    column-gap: 4.375rem
}

.header-nav__item {
    position: relative;
    cursor: pointer;
    font-size: 1.875rem
}

.header-nav__item span {
    transition: color .3s
}

.header-nav__item.active {
    color: #e6792d
}

.header-nav__submenu {
    padding-top: 1.75rem;
    position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s
}

.header-nav__subitem {
    white-space: nowrap
}

.header-nav__subitem svg {
    margin-right: .625rem;
    width: .8125rem;
    height: .8125rem
}

.header-contacts {
    margin-right: 3.125rem;
    text-align: right
}

@media only screen and (max-width: 1025px) {
    .header-nav {
        display: none
    }

    .header-contacts {
        margin: 0
    }
}

.header-contacts__phone {
    margin-bottom: .25rem;
    font-size: 1.125rem
}

.header-contacts__phone span {
    color: #828d93
}

.header-contacts__mail {
    color: #e6792d;
    font-size: .875rem
}

@media only screen and (max-width: 720px) {
    .header-contacts__phone {
        margin: 0
    }

    .header-contacts__mail {
        display: none
    }
}

.header-langpicker {
    position: relative;
    background: #e6792d;
    font-size: 1.25rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-align: center;
    align-items: center;
    -o-box-pack: center;
    justify-content: center;
    height: 1.5625rem;
    width: 1.5625rem;
    text-transform: uppercase
}

.header-langpicker:hover .header-langpicker__values {
    max-height: 7.8125rem
}

@media only screen and (max-width: 1025px) {
    .header-langpicker {
        display: none
    }
}

.header-langpicker > span {
    padding: .125rem;
    display: block;
    color: #000
}

.header-langpicker__values {
    position: absolute;
    top: 1.625rem;
    left: 0;
    right: 0;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-orient: vertical;
    flex-direction: column;
    row-gap: .0625rem;
    overflow: hidden;
    transition: max-height .3s;
    max-height: 0;
    cursor: pointer
}

.header-langpicker__values li {
    padding: .125rem;
    text-align: center;
    background-color: #828d93;
    width: 100%
}

.header-langpicker__values li a {
    display: block
}

.mobile {
    padding: 5rem 2.1875rem;
    position: fixed;
    background: #253238;
    width: 50%;
    right: 0;
    z-index: 10;
    transition: transform .3s;
    transform: translateX(0);
    height: 100%
}

.mobile:not(.open) {
    transform: translateX(100%)
}

@media only screen and (min-width: 1025px) {
    .header-nav__item:hover span {
        color: #e6792d
    }

    .mobile {
        display: none
    }

    .footer-nav__item:hover {
        color: #e6792d
    }
}

.mobile-menu {
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-orient: vertical;
    flex-direction: column;
    row-gap: 4.375rem
}

.mobile-menu__submenu {
    padding-top: 1rem;
    padding-left: .625rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-orient: vertical;
    flex-direction: column;
    row-gap: 1.25rem;
    font-size: 1.25rem
}

.mobile-menu__subitem {
    white-space: nowrap
}

.mobile-menu__subitem svg {
    margin-right: .625rem;
    width: .8125rem;
    height: .8125rem
}

.mobile-item {
    font-size: 2.25rem;
    color: #fff
}

.mobile-item:first-letter {
    color: #e6792d
}

.mobile-background {
    position: absolute;
    bottom: 0;
    height: 21.875rem;
    left: 0
}

.footer {
    padding: 2rem 0 1.25rem;
    position: relative;
    background: #1a282e
}

.footer-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-pack: justify;
    justify-content: space-between
}

.footer-background svg {
    height: 100%;
    width: 30.75rem
}

@media only screen and (max-width: 1025px) {
    .footer-background {
        display: none
    }
}

.footer-logo {
    margin-bottom: 1.125rem;
    width: 10.9375rem;
    height: 2.8125rem
}

.footer-row {
    margin-bottom: 5.5rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-pack: justify;
    justify-content: space-between
}

@media only screen and (max-width: 720px) {
    .footer {
        padding: 2.125rem 0 .9375rem;
        text-align: center
    }

    .footer-row {
        -o-box-orient: vertical;
        flex-direction: column;
        -o-box-align: center;
        align-items: center;
        gap: 3.125rem
    }
}

.footer-left {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.25rem;
    font-weight: 300
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .footer-left {
        font-size: 1rem
    }
}

.footer-address {
    margin-bottom: 1.5rem
}

.footer-phone {
    margin-bottom: .5625rem
}

.footer-mail {
    color: #e6792d
}

.footer-nav {
    display: -ms-flexbox;
    display: box;
    display: flex;
    gap: 4.375rem
}

@media only screen and (max-width: 720px) {
    .footer-nav {
        gap: 2.5rem;
        -o-box-orient: vertical;
        flex-direction: column
    }
}

.footer-nav__item {
    font-size: 1.875rem;
    transition: color .3s;
    color: #758791
}

.footer-copyright {
    color: #758791;
    text-align: center
}

.promotion-blocks {
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-orient: vertical;
    flex-direction: column;
    row-gap: 1.875rem
}

.promotion-row {
    display: -ms-flexbox;
    display: box;
    display: flex;
    margin: -.9375rem
}

.promotion-block {
    padding: .9375rem;
    width: calc((100% / 3))
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .footer-nav__item {
        font-size: 1.5rem
    }

    .promotion-blocks {
        row-gap: 1rem
    }

    .promotion-row {
        margin: -.5rem
    }

    .promotion-block {
        padding: .5rem
    }
}

@media only screen and (max-width: 720px) {
    .promotion-blocks {
        row-gap: .625rem
    }

    .promotion-row {
        margin: -.3125rem;
        -o-box-orient: vertical;
        flex-direction: column
    }

    .promotion-row:first-child {
        -o-box-direction: reverse;
        -o-box-orient: vertical;
        flex-direction: column-reverse
    }

    .promotion-block {
        padding: .3125rem;
        width: 100% !important
    }
}

.promotion-block--big {
    width: calc(100% / 3 * 2)
}

.promotion-additional {
    position: absolute;
    left: 2.4375rem;
    bottom: -2.875rem;
    text-transform: uppercase;
    transition: bottom .6s
}

.promotion-additional.rotated {
    left: initial;
    width: -moz-fit-content;
    width: fit-content;
    transform: translate(100%, 0) rotate(0);
    transition: transform .6s
}

@media only screen and (max-width: 1025px) {
    .promotion-additional.rotated {
        transform: translate(5.625rem, -1.25rem) rotate(-45deg)
    }
}

.promotion-title {
    font-size: 2.625rem;
    font-weight: 700;
    margin-bottom: 1.875rem
}

.promotion-button {
    margin: 0 auto;
    padding: .75rem .9375rem;
    background: #e6792d;
    font-size: 1.375rem;
    width: -moz-fit-content;
    width: fit-content;
    color: #000;
    transition: background-color .3s
}

.promotion-button:hover {
    background-color: #fecd81
}

.promotion-block__inner {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 22.5rem
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .promotion-additional {
        bottom: 3rem
    }

    .promotion-block__inner {
        height: 18.75rem
    }
}

@media only screen and (max-width: 720px) {
    .promotion-additional {
        left: 1.5rem;
        bottom: 3.125rem
    }

    .promotion-additional.rotated {
        transform: translate(12.5rem, -1.875rem) rotate(-45deg)
    }

    .promotion-block__inner {
        height: calc(344 / 376 * 100%)
    }
}

@media only screen and (min-width: 1025px) {
    .promotion-block__inner:hover .promotion-additional:not(.rotated) {
        bottom: 3rem
    }

    .promotion-block__inner:hover .promotion-additional.rotated {
        transform: translate(9.375rem, -9.375rem) rotate(-45deg)
    }

    .promotion-block__inner:hover img.elements {
        transform: translate(1.25rem, 1.25rem) rotate(20deg)
    }

    .promotion-block__inner:hover img.elements.left {
        transform: translate(-10%, -10%) rotate(160deg)
    }

    .promotion-block__inner:hover img.bg {
        opacity: .5
    }

    .promotion-block__inner:hover .triangle img {
        transform: rotate(180deg)
    }

    .promotion-block__inner:hover .triangle-label {
        transform: translate(-1.25rem, 50%)
    }
}

.promotion-block__inner img.bg {
    transition: opacity .6s
}

.promotion-block__inner img.elements {
    position: absolute;
    -o-object-fit: contain;
    object-fit: contain;
    width: auto;
    height: auto;
    transition: transform .6s
}

.promotion-block__inner img.elements.left {
    transform: rotate(180deg);
    left: -3.75rem;
    top: -.9375rem
}

.promotion-block__inner img.elements.right {
    right: -3.75rem;
    bottom: -.9375rem
}

.promotion-block__inner .triangle {
    position: absolute;
    right: 0;
    bottom: 1.875rem;
    width: 5.4375rem;
    height: 10.625rem;
    overflow: hidden
}

.promotion-block__inner .triangle img {
    transition: transform .6s
}

@media only screen and (max-width: 1025px) {
    .promotion-block__inner .triangle {
        font-size: 1.125rem;
        bottom: 50%;
        transform: translateY(70%)
    }

    .promotion-block__inner .triangle img {
        transform: rotate(180deg)
    }
}

.promotion-block__inner .triangle-label {
    position: absolute;
    right: 0;
    bottom: 50%;
    transform: translate(110%, 50%);
    transition: transform .6s
}

.clients-container {
    padding: 5rem 0 4.625rem;
    position: relative
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .clients-container {
        padding: 3.75rem 0 3.25rem
    }
}

.clients-container::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: .3125rem;
    background-color: #90a4af
}

@media only screen and (max-width: 720px) {
    .clients-container {
        padding: 2.5rem 0 3.25rem
    }

    .clients-container::before {
        height: .1875rem
    }
}

.clients-row {
    display: -ms-flexbox;
    display: box;
    display: flex
}

.clients-title {
    padding-right: 1.625rem;
    font-size: 4rem;
    text-transform: uppercase;
    width: -moz-fit-content;
    width: fit-content
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .clients-title {
        font-size: 3rem
    }
}

.clients-decorline {
    position: relative;
    -o-box-flex: 1;
    -ms-box-flex: 1;
    box-flex: 1;
    flex-grow: 1
}

.clients-decorline::before {
    content: '';
    position: absolute;
    top: .5rem;
    left: 0;
    right: 0;
    height: .3125rem;
    background-color: #90a4af
}

@media only screen and (max-width: 720px) {
    .clients-title {
        font-size: 2.25rem
    }

    .clients-decorline::before {
        height: .1875rem
    }
}

.clients-slider .swiper-slide {
    width: auto;
    height: 12.5rem
}

.clients-slider {
    padding: 5rem 0 6.5625rem
}

.clients-slider a {
    display: block;
    width: 100%;
    height: 100%
}

.clients-slider .swiper-pagination {
    position: relative
}

.burger-button {
    width: 1.75rem;
    height: 1.75rem;
    position: relative;
    transform: rotate(0);
    transition: .5s ease-in-out;
    cursor: pointer
}

@media only screen and (min-width: 1025px) {
    .burger-button {
        display: none
    }
}

.burger-button span {
    display: block;
    position: absolute;
    height: .125rem;
    width: 100%;
    background: #fff;
    opacity: 1;
    -ms-filter: none;
    filter: none;
    left: 0;
    transform: rotate(0);
    transition: .25s ease-in-out
}

.burger-button span:nth-child(1) {
    top: 0;
    transform-origin: left center
}

.burger-button span:nth-child(2) {
    top: .8125rem;
    transform-origin: left center
}

.burger-button span:nth-child(3) {
    top: 1.625rem;
    transform-origin: left center
}

.burger-button.open span:nth-child(1) {
    transform: rotate(45deg);
    top: .1875rem;
    left: .25rem
}

.burger-button.open span:nth-child(2) {
    width: 0;
    opacity: 0
}

.burger-button.open span:nth-child(3) {
    transform: rotate(-45deg);
    top: 1.4375rem;
    left: .25rem
}

.info-block__title {
    font-size: 4rem;
    font-weight: 700;
    color: #758791;
    text-transform: uppercase
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .clients-slider .swiper-slide {
        height: 10.5rem
    }

    .info-block__title {
        font-size: 3rem
    }
}

.info-block__grid {
    margin: 5rem -.9375rem 0;
    display: -ms-flexbox;
    display: box;
    display: flex
}

.info-block__column {
    padding: .9375rem;
    width: calc(100% / 3)
}

@media only screen and (max-width: 720px) {
    .info-block__title {
        font-size: 2.25rem
    }

    .info-block__grid {
        margin: 2.5rem 0 0;
        -o-box-orient: vertical;
        flex-direction: column;
        row-gap: 3.75rem
    }

    .info-block__column {
        padding: 0;
        width: 100%
    }
}

.info-block__image {
    position: relative;
    padding: 1.75rem;
    height: 22.5rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-align: end;
    align-items: flex-end
}

.info-block__image img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1
}

.info-block__subtitle {
    font-size: 3.25rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .info-block__subtitle {
        font-size: 3rem
    }
}

.info-block__subtitle span {
    color: #e6792d
}

.info-block__text {
    margin-top: 2rem;
    font-size: 1.25rem;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 300;
    color: #fff;
    line-height: 1.4
}

@media only screen and (max-width: 720px) {
    .info-block__text {
        margin-top: 1.75rem;
        font-size: 1rem
    }
}

.info-block__text p:not(:last-child) {
    margin: 0 0 2.25rem
}

.info-block__text ul li {
    padding-left: 1rem;
    margin-left: .625rem
}

.info-block__text ul li::marker {
    content: url("data:image/svg+xml,%3Csvg width='6' height='10' viewBox='0 0 6 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0 10V0L6 4.99624L0 10Z' fill='%23E6792D'/%3E%3C/svg%3E")
}

.info-block__text ul li:not(:last-child) {
    margin-bottom: 2.25rem
}

.contacts {
    margin-top: 3.75rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-pack: justify;
    justify-content: space-between;
    -moz-column-gap: 7.8125rem;
    column-gap: 7.8125rem
}

.contacts-info {
    width: calc(265 / 1140 * 100%);
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.25rem;
    font-weight: 300
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .info-block__text p:not(:last-child) {
        margin: 0 0 1.75rem
    }

    .contacts {
        margin-top: 2.625rem;
        -moz-column-gap: 4.375rem;
        column-gap: 4.375rem
    }

    .contacts-info {
        width: calc(270 / 957 * 100%);
        font-size: 1rem
    }
}

@media only screen and (max-width: 720px) {
    .contacts {
        margin-top: 1.5rem;
        -o-box-orient: vertical;
        flex-direction: column;
        row-gap: 1.5rem
    }

    .contacts-info {
        width: 100%
    }
}

.contacts-info__line {
    display: -ms-flexbox;
    display: box;
    display: flex
}

.contacts-info__line:not(:last-child) {
    margin-bottom: 1.75rem
}

.contacts-info__line.orange {
    color: #e6792d
}

.contacts-info__icon {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: .9375rem;
    flex-shrink: 0
}

.contacts-info__icon svg {
    width: 100%;
    height: 100%;
    fill: #fff
}

.contacts-map {
    -o-box-flex: 1;
    -ms-box-flex: 1;
    box-flex: 1;
    flex-grow: 1;
    height: 25.625rem;
    border-radius: .25rem;
    overflow: hidden
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .contacts-info__line:not(:last-child) {
        margin-bottom: 1.25rem
    }

    .contacts-map {
        height: 21.5625rem
    }
}

.contacts-map #map {
    width: 100%;
    height: 100%
}

@media only screen and (max-width: 720px) {
    .contacts-map {
        height: 25rem
    }

    .about-top {
        display: -ms-flexbox;
        display: box;
        display: flex;
        -o-box-orient: vertical;
        flex-direction: column
    }
}

.about-top__image {
    margin: 0 0 2.625rem 2.0625rem;
    width: 22.5rem;
    height: 22.5rem;
    float: right;
    -o-box-ordinal-group: 2;
    order: 2
}

.about-title {
    font-size: 4rem;
    font-weight: 700;
    color: #758791;
    -o-box-ordinal-group: 0;
    order: 0;
    text-transform: uppercase
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .about-top__image {
        margin: 0 0 1.3125rem 1.3125rem;
        width: 18.9375rem;
        height: 18.9375rem
    }

    .about-title {
        font-size: 3rem
    }
}

@media only screen and (max-width: 720px) {
    .about-top__image {
        margin: 1.75rem 0 0;
        padding-bottom: clamp(21.3125rem, 70vw, 30.625rem);
        width: 100%;
        height: 0;
        position: relative
    }

    .about-top__image img {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0
    }

    .about-title {
        font-size: 2.25rem
    }
}

.about-text {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 1.25rem;
    font-weight: 300;
    -o-box-ordinal-group: 1;
    order: 1
}

.about-text p {
    margin: 0
}

.about-text p:not(:last-child) {
    margin: 0 0 1.75rem
}

.about-text__top {
    margin-top: 3.125rem
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .about-text__top {
        margin-top: 2.5rem;
        font-size: 1rem
    }
}

.about-text__bottom {
    -o-box-ordinal-group: 3;
    order: 3
}

@media only screen and (max-width: 720px) {
    .about-text {
        margin-top: 1.75rem
    }
}

.about-bottom {
    margin-top: 3rem
}

.about-bottom__title {
    margin-bottom: 3.75rem;
    font-size: 1.25rem;
    color: #758791
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .about-bottom {
        margin-top: 2.25rem
    }

    .about-bottom__title {
        margin-bottom: 3.25rem
    }
}

@media only screen and (max-width: 720px) {
    .about-bottom {
        margin-top: 1.75rem
    }

    .about-bottom__title {
        margin-bottom: 2.5rem
    }
}

.about-facts {
    margin: -.9375rem;
    display: -ms-flexbox;
    display: box;
    display: flex
}

.about-fact {
    padding: .9375rem;
    width: calc(100% / 3)
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .about-facts {
        margin: -.625rem
    }

    .about-fact {
        padding: .625rem
    }
}

@media only screen and (max-width: 720px) {
    .about-facts {
        margin: -1.25rem;
        -o-box-orient: vertical;
        flex-direction: column
    }

    .about-fact {
        padding: 1.25rem;
        width: 100%
    }
}

.about-fact__slogan {
    font-size: 3rem;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 3.75rem;
    white-space: nowrap
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .about-fact__slogan {
        margin-bottom: 2.5rem;
        font-size: 2.5rem
    }
}

.about-fact__slogan-left {
    color: #758791
}

.about-fact__slogan-right {
    margin-top: -.75rem;
    margin-left: 30%
}

.about-fact__slogan-right span {
    color: #e6792d
}

.about-fact__text {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 1.25rem;
    font-weight: 300
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .about-fact__text {
        font-size: 1rem
    }
}

.about-fact__text p {
    margin: 0
}

.about-fact__text p:not(:last-child) {
    margin: 0 0 1.75rem
}

.about-fact__button {
    margin-top: 2.5rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-orient: vertical;
    flex-direction: column;
    row-gap: 1.25rem;
    -o-box-align: center;
    align-items: center
}

.about-fact__button a {
    display: block;
    padding: .75rem .9375rem;
    text-transform: uppercase;
    font-size: 1.25rem;
    width: -moz-fit-content;
    width: fit-content;
    color: #000;
    transition: filter .3s
}

.about-fact__button a:hover {
    filter: brightness(.75)
}

.about-fact__button a.orange {
    background-color: #e6792d
}

.about-fact__button a.grey {
    background-color: #828d93
}

.portfolio-title {
    font-size: 4rem;
    color: #758791
}

.portfolio-row {
    margin-top: 3.75rem;
    display: -ms-flexbox;
    display: box;
    display: flex
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .portfolio-title {
        font-size: 3rem
    }

    .portfolio-row {
        margin-top: 3.125rem
    }
}

@media only screen and (max-width: 720px) {
    .about-fact__slogan {
        margin-bottom: 1.75rem;
        width: -moz-fit-content;
        width: fit-content
    }

    .portfolio-title {
        font-size: 2.25rem
    }

    .portfolio-row {
        margin-top: 2.5rem
    }
}

.portfolio-row__title {
    padding-right: 1.625rem;
    font-size: 4rem;
    text-transform: uppercase;
    width: -moz-fit-content;
    width: fit-content
}

.portfolio-row__title::first-letter {
    color: #e6792d
}

@media only screen and (max-width: 1025px) {
    .promotion-block__inner .triangle-label {
        transform: translate(-1.25rem, 50%)
    }

    .portfolio-row__title {
        font-size: 1.875rem
    }
}

.portfolio-decorline {
    position: relative;
    -o-box-flex: 1;
    -ms-box-flex: 1;
    box-flex: 1;
    flex-grow: 1
}

.portfolio-decorline::before {
    content: '';
    position: absolute;
    top: .5rem;
    left: 0;
    right: 0;
    height: .3125rem;
    background-color: #90a4af
}

.portfolio-blocks {
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-orient: vertical;
    flex-direction: column;
    row-gap: 1.875rem;
    margin-top: 2.25rem
}

.portfolio-blocks__row {
    display: -ms-flexbox;
    display: box;
    display: flex;
    margin: -.9375rem
}

.portfolio-block {
    position: relative;
    padding: .9375rem;
    width: calc((100% / 3));
    height: 22.5rem
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .portfolio-blocks {
        row-gap: 1rem
    }

    .portfolio-blocks__row {
        margin: -.5rem
    }

    .portfolio-block {
        padding: .5rem;
        height: 18.75rem
    }
}

@media only screen and (max-width: 720px) {
    .portfolio-decorline::before {
        height: .1875rem
    }

    .portfolio-blocks {
        row-gap: initial
    }

    .portfolio-blocks__row {
        margin: 0;
        -o-box-orient: vertical;
        flex-direction: column
    }

    .portfolio-blocks__row:first-child {
        -o-box-direction: reverse;
        -o-box-orient: vertical;
        flex-direction: column-reverse
    }

    .portfolio-block {
        padding: 0;
        width: 100% !important;
        height: auto
    }

    .portfolio-slider .swiper-slide .portfolio-block--big {
        display: none
    }
}

.portfolio-block--big {
    width: calc(100% / 3 * 2)
}

.portfolio-slider {
    width: 100%
}

.portfolio-pagination {
    position: absolute;
    width: calc(100% / 3);
    height: 100%
}

@media only screen and (max-width: 720px) {
    .portfolio-pagination {
        width: 100%;
        height: 32.9375rem
    }
}

.portfolio-pagination .swiper-pagination {
    --swiper-pagination-bottom: 0.75rem
}

.portfolio-pagination.rightd {
    right: 0
}

.portfolio-inner {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1rem;
    padding: .75rem;
    height: 100%
}

@media only screen and (max-width: 720px) {
    .portfolio-inner {
        text-align: center;
        padding: 0
    }
}

.portfolio-inner__logo {
    padding: .9375rem 0 1.875rem;
    height: 7.8125rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-align: center;
    align-items: center;
    -o-box-pack: center;
    justify-content: center
}

@media only screen and (min-width: 720px) and (max-width: 1025px) {
    .portfolio-inner__logo {
        height: 6.5625rem
    }
}

.portfolio-inner__logo img {
    -o-object-fit: contain;
    object-fit: contain;
    width: initial;
    height: initial;
    max-width: 100%;
    max-height: 100%
}

.portfolio-inner__banner {
    height: 22.125rem
}

@media only screen and (min-width: 720px) {
    .portfolio-inner__banner {
        display: none
    }
}

.portfolio-inner__title {
    margin-top: 1.0625rem;
    color: #758791;
    font-weight: 700
}

@media only screen and (max-width: 720px) {
    .portfolio-inner__title {
        margin-top: 3rem
    }
}

.portfolio-inner__description {
    margin-top: 1.1875rem;
    max-width: 17.4375rem;
    font-weight: 300
}

@media only screen and (max-width: 720px) {
    .portfolio-inner__description {
        padding: 0 1.25rem;
        max-width: none
    }

    .portfolio-slider__background {
        margin: 0 -.9375rem;
        padding: 0 .9375rem 1.875rem
    }

    .portfolio-slider__background:nth-child(odd) {
        background-color: #1a282e
    }
}

.not-found {
    max-width: 38.125rem
}

.not-found__wrapper {
    padding-top: 5rem;
    display: -ms-flexbox;
    display: box;
    display: flex;
    -o-box-orient: vertical;
    flex-direction: column;
    -o-box-align: center;
    align-items: center;
    text-align: center
}

.not-found__numbers {
    margin: 0 auto;
    font-size: 18.75rem;
    font-weight: 700;
    color: #e6792d;
    position: relative;
    width: -moz-fit-content;
    width: fit-content
}

@media only screen and (max-width: 720px) {
    .not-found__wrapper {
        padding-top: 2.5rem
    }

    .not-found__numbers {
        font-size: 12.5rem
    }
}

.not-found__label {
    position: absolute;
    top: 16%;
    left: -24%;
    background: #253238;
    padding: .25rem;
    font-size: 2.5rem;
    text-transform: uppercase;
    color: #fff
}

@media only screen and (max-width: 720px) {
    .not-found__label {
        font-size: 1.625rem;
        font-weight: 400
    }
}

.not-found__description {
    font-size: 2.5rem;
    color: #758791
}

@media only screen and (max-width: 720px) {
    .not-found__description {
        font-size: 1.5rem
    }
}

.not-found__description span {
    color: #e6792d
}

.not-found__bottom {
    margin-top: 5.375rem;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.2
}

@media only screen and (max-width: 720px) {
    .not-found__bottom {
        margin-top: 3.125rem;
        font-size: 1rem
    }
}

.not-found__bottom a {
    color: #e6792d
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnN0eWwiLCJnbG9iYWwuc3R5bCIsIi4uLy4uL25vZGVfbW9kdWxlcy9ydXB0dXJlL3J1cHR1cmUvaW5kZXguc3R5bCIsIi4uLy4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi92ZW5kb3Iuc3R5bCIsInN0eWxlLmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi9vdmVyZmxvdy5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2ZsZXguc3R5bCIsImNvbXBvbmVudHMvaGVhZGVyLnN0eWwiLCJjb21wb25lbnRzL2Zvb3Rlci5zdHlsIiwiY29tcG9uZW50cy9wcm9tb3Rpb24uc3R5bCIsImNvbXBvbmVudHMvY2xpZW50cy5zdHlsIiwiY29tcG9uZW50cy9idXJnZXIuc3R5bCIsImNvbXBvbmVudHMvaW5mb19ibG9jay5zdHlsIiwiY29tcG9uZW50cy9jb250YWN0cy5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2JvcmRlci1yYWRpdXMuc3R5bCIsImNvbXBvbmVudHMvYWJvdXQuc3R5bCIsImNvbXBvbmVudHMvcG9ydGZvbGlvLnN0eWwiLCJjb21wb25lbnRzLzQwNC5zdHlsIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFpRyxpR0NNakcsV0FDQyxZQUFBLFVBRUEsSUFBQSxpQ0FFRCxLQUNDLFlBQUEsU0FBQSxDQUFBLFdBQ0EsWUFBQSxJQUNBLFlBQUEsRUFDQSxNQUFBLEtBQ0EsVUFBQSxLQytIVSxpRUFBQSxLRDdIVCxVQUFBLFVDNkhTLGdFQUFBLEtEM0hULFVBQUEsb0JDMkhTLHlDQUFBLEtEekhULFVBQUEsd0JBRUYsS0FDQyxPQUFBLEVBQ0EsU0FBQSxTRWlkRyxXQUFBLFFGOWNKLEtBQ0MsWUFBQSxVQUNBLFNBQUEsU0dNRCxpQ0hIQSxpQ0FFQyxtQkFBQSxLQUNBLE9BQUEsRUFHRCxtQkFDQyxnQkFBQSxVR0lELEdIRkEsR0FFQyxPQUFBLEVBQ0EsUUFBQSxFRStjRyxX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SWR1QlMseUNBQUEsd0JjckJSLFdBQUEsTUFDRiw4QkFDQyxXQUFBLFVBQ0EsVUFBQSxXQUNBLFlBQUEsSWRpQlMseUNBQUEsOEJjZlIsUUFBQSxFQUFBLFFBQ0EsVUFBQSxLZGNRLDhCY1ZULE9BQUEsRUFBQSxVQUNBLFFBQUEsRUFBQSxTQUFBLFNBQ0EsNkNBQ0MsaUJBQUEsU0N4SUgsV0FDQyxVQUFBLFVBQ0Esb0JBQ0MsWUFBQSxLWFdNLFFBQUEsWUFDQSxRQUFBLElBS0YsUUFBQSxLSHVCWSxjQUFBLFNBUkgsZUFBQSxPQVFHLGFBQUEsT0FSSCxZQUFBLE9jNUJiLFdBQUEsT0FHRCxvQkFDQyxPQUFBLEVBQUEsS0FDQSxVQUFBLFNBQ0EsWUFBQSxJQUNBLE1BQUEsUUFDQSxTQUFBLFNBQ0EsTUFBQSxpQkFBQSxNQUFBLFlmK0hTLHlDQUFBLG9CZXRJUixZQUFBLE9mc0lRLG9CZTdIUixVQUFBLFNBQ0Ysa0JBQ0MsU0FBQSxTQUNBLElBQUEsSUFDQSxLQUFBLEtkcWRFLFdBQUEsUWNuZEYsUUFBQSxPQUNBLFVBQUEsT0FDQSxlQUFBLFVBQ0EsTUFBQSxLZm9IUyx5Q0FBQSxrQmVsSFIsVUFBQSxTQUNBLFlBQUEsS0FDRix3QkFDQyxVQUFBLE9BQ0EsTUFBQSxRZjhHUyx5Q0FBQSx3QmU1R1IsVUFBQSxRQUNELDZCQUNDLE1BQUEsUUFDRixtQkFDQyxXQUFBLFNBQ0EsWUFBQSxrQkFBQSxDQUFBLFdBQ0EsVUFBQSxRQUNBLFlBQUEsSUFDQSxZQUFBLElmb0dTLHlDQUFBLG1CZWxHUixXQUFBLFNBQ0EsVUFBQSxNQUNELHFCQUNDLE1BQUEiLCJmaWxlIjoibWFpbi5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvK0NvbmRlbnNlZDp3Z2h0QDMwMDs0MDAmZGlzcGxheT1zd2FwJyk7XHJcbkBpbXBvcnQgJ25pYic7XHJcbkBpbXBvcnQgJ3J1cHR1cmUnO1xyXG5cclxucnVwdHVyZS5tb2JpbGUtY3V0b2ZmID0gNzIwcHg7XHJcbnJ1cHR1cmUuZGVza3RvcC1jdXRvZmYgPSAxMDI1cHg7XHJcblxyXG5AaW1wb3J0ICd2YXJpYWJsZXMuc3R5bCc7XHJcbkBpbXBvcnQgJ2dsb2JhbC5zdHlsJztcclxuLy8gcmVnaW9uIGNvbXBvbmVudHNcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL2hlYWRlci5zdHlsJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL2Zvb3Rlci5zdHlsJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL3NsaWRlci5zdHlsJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL3Byb21vdGlvbi5zdHlsJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL2NsaWVudHMuc3R5bCc7XHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9idXJnZXIuc3R5bCc7XHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9pbmZvX2Jsb2NrLnN0eWwnO1xyXG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvY29udGFjdHMuc3R5bCc7XHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9hYm91dC5zdHlsJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL3BvcnRmb2xpby5zdHlsJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzLzQwNC5zdHlsJztcclxuIiwiZW0oc2l6ZSwgZGVmYXVsdFNpemUgPSAxNClcclxuXHRyZXR1cm4gKHNpemUgLyBkZWZhdWx0U2l6ZSkgZW07XHJcblxyXG5yZW0oc2l6ZSlcclxuXHRyZXR1cm4gKHNpemUgLyAxNikgcmVtO1xyXG5cclxuQGZvbnQtZmFjZVxyXG5cdGZvbnQtZmFtaWx5OiAnUm9kY2hlbmtvJztcclxuXHQvLyBzcmM6IHVybCgnLi4vZm9udHMvUm9kY2hlbmtvLnR0ZicpO1xyXG5cdHNyYzogdXJsKCcvc3RhdGljL2ZvbnRzL1JvZGNoZW5rby50dGYnKTtcclxuXHJcbmh0bWxcclxuXHRmb250LWZhbWlseTogJ1JvZGNoZW5rbycsIHNhbnMtc2VyaWY7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0K2JldHdlZW4oJHRhYmxldCwgMTIwMHB4KVxyXG5cdFx0Zm9udC1zaXplOiByZW0oMTUpO1xyXG5cdCtiZXR3ZWVuKCRtb2JpbGUsICR0YWJsZXQpXHJcblx0XHRmb250LXNpemU6IGNhbGMoKDEwMHZ3IC8gNjQpKTtcclxuXHQrYmVsb3coNDUwcHgpXHJcblx0XHRmb250LXNpemU6IGNhbGMoKDEwMHZ3IC8gMjguMTI1KSk7XHJcblxyXG5ib2R5XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuXHJcbm1haW5cclxuXHRwYWRkaW5nLXRvcDogcmVtKDEwNyk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuLyogQ2hyb21lLCBTYWZhcmksIEVkZ2UsIE9wZXJhICovXHJcbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uXHJcbmlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uXHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdG1hcmdpbjogMDtcclxuXHJcbi8qIEZpcmVmb3ggKi9cclxuaW5wdXRbdHlwZT1udW1iZXJdXHJcblx0LW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XHJcblxyXG51bFxyXG5saVxyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG5hXHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cclxuKjpmb2N1c1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblxyXG4qXHJcbio6OmJlZm9yZVxyXG4qOjphZnRlclxyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4uY29udGFpbmVyXHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0cGFkZGluZzogMCByZW0oNDApO1xyXG5cdG1heC13aWR0aDogcmVtKDEyMjApO1xyXG5cdCt0YWJsZXQoKVxyXG5cdFx0cGFkZGluZzogMCByZW0oMzApO1xyXG5cdCttb2JpbGUoKVxyXG5cdFx0cGFkZGluZzogMCByZW0oMTUpO1xyXG5cclxuLmNvbnRlbnRcclxuXHRwYWRkaW5nOiByZW0oMzApIDAgcmVtKDg1KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0K3RhYmxldCgpXHJcblx0XHRwYWRkaW5nOiByZW0oMjQpIDAgcmVtKDQ4KTtcclxuXHQmLm92ZXJmbG93LWhpZGRlblxyXG5cdFx0b3ZlcmZsb3cgaGlkZGVuXHJcblxyXG4uYmFja2dyb3VuZC1sYXlvdXRcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0aGVpZ2h0OiByZW0oMzkwKTtcclxuXHR6LWluZGV4OiAtMTtcclxuXHRkaXNwbGF5IGZsZXhcclxuXHRqdXN0aWZ5LWNvbnRlbnQgc3BhY2UtYmV0d2VlblxyXG5cdHN2Z1xyXG5cdFx0aGVpZ2h0IDEwMCVcclxuXHRcdHdpZHRoIHJlbSg1NjApXHJcblx0K2JlbG93KCR0YWJsZXQpXHJcblx0XHRkaXNwbGF5IG5vbmVcclxuXHQmLmZ1bGxoZWlnaHRcclxuXHRcdGRpc3BsYXkgYmxvY2tcclxuXHRcdGhlaWdodCAxMDAlXHJcblx0XHRpbWdcclxuXHRcdFx0dHJhbnNmb3JtIHNjYWxlKDIuNSlcclxuXHJcbmltZ1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxuXHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuXHJcbi5zd2lwZXJcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0Ji1zbGlkZVxyXG5cdFx0Y3Vyc29yOiBncmFiO1xyXG5cdCYtd3JhcHBlclxyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHQmLXBhZ2luYXRpb24tYnVsbGV0XHJcblx0XHQtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ob3Jpem9udGFsLWdhcDogcmVtKDkpO1xyXG5cdFx0LS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGg6IHJlbSgxMik7XHJcblx0XHQtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQ6IHJlbSgxMik7XHJcblx0XHQtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvcjogIzkwQTRBRjtcclxuXHRcdC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6ICRvcmFuZ2U7XHJcblxyXG4ubWFpbnBhZ2UtbGlua1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGNvbG9yOiAkZ3JleVRleHQ7XHJcblx0K3RhYmxldCgpXHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdHN2Z1xyXG5cdFx0bWFyZ2luLWxlZnQ6IHJlbSgzKTtcclxuIiwiYmFzZS1mb250LXNpemUgPz0gMTZweFxucmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXMgPz0gZmFsc2VcblxucnVwdHVyZSA9IHtcbiAgcmFzdGVyaXNlLW1lZGlhLXF1ZXJpZXM6IHJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzXG4gIG1vYmlsZS1jdXRvZmY6IDQwMHB4XG4gIGRlc2t0b3AtY3V0b2ZmOiAxMDUwcHhcbiAgaGQtY3V0b2ZmOiAxODAwcHhcbiAgZW5hYmxlLWVtLWJyZWFrcG9pbnRzOiBmYWxzZVxuICBiYXNlLWZvbnQtc2l6ZTogYmFzZS1mb250LXNpemVcbiAgYW50aS1vdmVybGFwOiBmYWxzZVxuICBkZW5zaXR5LXF1ZXJpZXM6ICdkcHB4JyAnd2Via2l0JyAnbW96JyAnZHBpJ1xuICByZXRpbmEtZGVuc2l0eTogMS41XG4gIHVzZS1kZXZpY2Utd2lkdGg6IGZhbHNlXG59XG5ydXB0dXJlLnNjYWxlID0gMCAocnVwdHVyZS5tb2JpbGUtY3V0b2ZmKSA2MDBweCA4MDBweCAocnVwdHVyZS5kZXNrdG9wLWN1dG9mZikgKHJ1cHR1cmUuaGQtY3V0b2ZmKVxucnVwdHVyZS5zY2FsZS1uYW1lcyA9ICd4cycgJ3MnICdtJyAnbCcgJ3hsJyAnaGQnXG5cbi1pcy1zdHJpbmcodmFsKVxuICBpZiB0eXBlb2YodmFsKSBpcyBub3QgJ3VuaXQnXG4gICAgaWYgdmFsIGlzIGEgJ3N0cmluZycgb3IgdmFsIGlzIGEgJ2lkZW50J1xuICAgICAgdHJ1ZVxuICAgIGVsc2VcbiAgICAgIGZhbHNlXG4gIGVsc2VcbiAgICBmYWxzZVxuXG4tZ2V0LXNjYWxlLW51bWJlcihzY2FsZS1uYW1lKVxuICBmb3IgbGlzdC1pdGVtLCBpIGluIHJ1cHR1cmUuc2NhbGUtbmFtZXNcbiAgICBpZiBsaXN0LWl0ZW0gaXMgc2NhbGUtbmFtZVxuICAgICAgcmV0dXJuIGkgKyAxXG4gIHJldHVybiBmYWxzZVxuXG4tY29udmVydC10byh0by11bml0LCB2YWx1ZSwgY29udGV4dCA9IHJ1cHR1cmUuYmFzZS1mb250LXNpemUpXG4gIGZyb20tdW5pdCA9IHVuaXQodmFsdWUpXG4gIHJldHVybiB2YWx1ZSBpZiB0by11bml0IGlzIGZyb20tdW5pdFxuICBpZiB0by11bml0IGluICgnZW0nICdyZW0nKVxuICAgIHJldHVybiB2YWx1ZSBpZiBmcm9tLXVuaXQgaW4gKCdlbScgJ3JlbScpXG4gICAgcmV0dXJuIHVuaXQoKHZhbHVlIC8gY29udGV4dCksIHRvLXVuaXQpXG4gIGlmIHRvLXVuaXQgaXMgJ3B4J1xuICAgIHJldHVybiB1bml0KCh2YWx1ZSAqIGNvbnRleHQpLCAncHgnKVxuXG4tb24tc2NhbGUobilcbiAgcmV0dXJuIHVuaXQobikgaXMgJydcblxuLWxhcmdlci10aGFuLXNjYWxlKG4pXG4gIHJldHVybiAobiA+IChsZW5ndGgocnVwdHVyZS5zY2FsZSkgLSAxKSkgYW5kIC1vbi1zY2FsZShuKVxuXG4taXMtemVybyhuKVxuICByZXR1cm4gbiBpcyAwXG5cbi1vdmVybGFwLXNoaWZ0KGFudGktb3ZlcmxhcCwgbilcbiAgc2hpZnQtdW5pdCA9IHVuaXQobilcbiAgYW50aS1vdmVybGFwID0gMHB4IHVubGVzcyBhbnRpLW92ZXJsYXBcbiAgYW50aS1vdmVybGFwID0gMXB4IGlmIGFudGktb3ZlcmxhcCBpcyB0cnVlXG4gIGlmIGxlbmd0aChhbnRpLW92ZXJsYXApIGlzIDFcbiAgICByZXR1cm4gLWNvbnZlcnQtdG8oc2hpZnQtdW5pdCwgYW50aS1vdmVybGFwKVxuICBmb3IgdmFsIGluIGFudGktb3ZlcmxhcFxuICAgIHJldHVybiB2YWwgaWYgdW5pdCh2YWwpIGlzIHNoaWZ0LXVuaXRcblxuLWFkanVzdC1vdmVybGFwKGFudGktb3ZlcmxhcCwgbiwgc2lkZSA9ICdtaW4nKVxuICAtc2hpZnQgPSAtb3ZlcmxhcC1zaGlmdChhbnRpLW92ZXJsYXAsIG4pXG4gIGlmIChzaWRlIGlzICdtaW4nIGFuZCAtc2hpZnQgPiAwKSBvciAoc2lkZSBpcyAnbWF4JyBhbmQgLXNoaWZ0IDwgMClcbiAgICBuID0gbiArIC1zaGlmdFxuICByZXR1cm4gblxuXG4taXMtcG9zaXRpdmUobilcbiAgcmV0dXJuIG4gPj0gMFxuXG4tZGVuc2l0eS1xdWVyaWVzKGRlbnNpdHkpXG4gIGlmIHR5cGVvZihkZW5zaXR5KSBpcyBub3QgJ3VuaXQnXG4gICAgaWYgbm90IC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICAgIGRlbnNpdHkgPSAnJXMnICUgZGVuc2l0eVxuICBkZW5zaXR5ID0gcnVwdHVyZS5yZXRpbmEtZGVuc2l0eSBpZiBkZW5zaXR5IGlzICdyZXRpbmEnXG4gIHF1ZXJpZXMgPSAoKVxuICBmb3IgcXVlcnkgaW4gcnVwdHVyZS5kZW5zaXR5LXF1ZXJpZXNcbiAgICBpZiBxdWVyeSBpcyAnd2Via2l0J1xuICAgICAgcHVzaChxdWVyaWVzLCAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJXMpJyAlIChkZW5zaXR5KSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdtb3onXG4gICAgICBwdXNoKHF1ZXJpZXMsICcobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAlcyknICUgKGRlbnNpdHkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ28nXG4gICAgICBwdXNoKHF1ZXJpZXMsICcoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogJXMvMSknICUgKGRlbnNpdHkpKVxuICAgIGVsc2UgaWYgcXVlcnkgaXMgJ3JhdGlvJ1xuICAgICAgcHVzaChxdWVyaWVzLCAnKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICVzKScgJSAoZGVuc2l0eSkpXG4gICAgZWxzZSBpZiBxdWVyeSBpcyAnZHBpJ1xuICAgICAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgICAgICBkZW5zaXR5PWNvbnZlcnQoZGVuc2l0eSlcbiAgICAgIHB1c2gocXVlcmllcywgJyhtaW4tcmVzb2x1dGlvbjogJXNkcGkpJyAlIChyb3VuZChkZW5zaXR5ICogOTYsIDEpKSlcbiAgICBlbHNlIGlmIHF1ZXJ5IGlzICdkcHB4J1xuICAgICAgcHVzaChxdWVyaWVzLCAnKG1pbi1yZXNvbHV0aW9uOiAlc2RwcHgpJyAlIChkZW5zaXR5KSlcbiAgcmV0dXJuIHF1ZXJpZXNcblxuY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBjbGFzcylcbiAgL3snJyArIGNsYXNzICsgJyAnICsgc2VsZWN0ZWR9XG4gICAge2Jsb2NrfVxuXG4vLyArYmV0d2VlbihtaW4sIG1heClcbi8vIHVzYWdlIChzY2FsZSBjYW4gYmUgbWl4ZWQgd2l0aCBjdXN0b20gdmFsdWVzKTpcbi8vICAgLSArYmV0d2VlbigxLCAzKSBzY2FsZTpzY2FsZVxuLy8gICAtICtiZXR3ZWVuKDAsIDMpIDAgd2lkdGg6c2NhbGVcbi8vICAgLSArYmV0d2VlbigyMDBweCwgNTAwcHgpIGN1c3RvbTpjdXN0b21cbi8vICAgLSArYmV0d2VlbigwLCAzMDBweCkgMCB3aWR0aDpjdXN0b21cbi8vICAgLSArYmV0d2VlbigxLCAzMDBweCkgc2NhbGU6Y3VzdG9tXG4vLyAgIC0gK2JldHdlZW4oMjAwcHgsIDQpIGN1c3RvbTpzY2FsZVxuXG5iZXR3ZWVuKG1pbiwgbWF4LCBhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBzZWxlY3RlZCA9IHNlbGVjdG9yKClcblxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gIGlmIC1pcy1zdHJpbmcobWluKVxuICAgIG1pbiA9IC1nZXQtc2NhbGUtbnVtYmVyKG1pbilcbiAgaWYgLWlzLXN0cmluZyhtYXgpXG4gICAgbWF4ID0gLWdldC1zY2FsZS1udW1iZXIobWF4KVxuXG4gIC1taW4gPSBydXB0dXJlLnNjYWxlW21pbiAtIDFdIHVubGVzcyAtaXMtemVybyhtaW4pIG9yIChub3QgLW9uLXNjYWxlKG1pbikpXG4gIC1tYXggPSBydXB0dXJlLnNjYWxlW21heF0gdW5sZXNzIG5vdCAtb24tc2NhbGUobWF4KVxuICAtbWluID89IG1pblxuICAtbWF4ID89IG1heFxuXG4gIGlmIChydXB0dXJlLnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzKVxuICAgIGlmIG5vdCAoZGVuc2l0eSBvciAtbWF4IG9yIG9yaWVudGF0aW9uKVxuICAgICAge2Jsb2NrfVxuICBlbHNlXG4gICAgY29uZGl0aW9uID0gJ29ubHkgc2NyZWVuJ1xuICAgIHVzZS1kZXZpY2Utd2lkdGggPSB1c2UtZGV2aWNlLXdpZHRoID8gJ2RldmljZS0nIDogJydcbiAgICB1bmxlc3MgLW1pbiBpcyAwXG4gICAgICAtbWluID0gLWNvbnZlcnQtdG8oJ2VtJywgLW1pbikgaWYgcnVwdHVyZS5lbmFibGUtZW0tYnJlYWtwb2ludHNcbiAgICAgIC1taW4gPSAtYWRqdXN0LW92ZXJsYXAoYW50aS1vdmVybGFwLCAtbWluLCBzaWRlOiAnbWluJylcbiAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbiArICcgYW5kIChtaW4tJyArIHVzZS1kZXZpY2Utd2lkdGggKyAnd2lkdGg6ICVzKScgJSAoLW1pbilcbiAgICB1bmxlc3MgLWxhcmdlci10aGFuLXNjYWxlKG1heClcbiAgICAgIC1tYXggPSAtY29udmVydC10bygnZW0nLCAtbWF4KSBpZiBydXB0dXJlLmVuYWJsZS1lbS1icmVha3BvaW50c1xuICAgICAgLW1heCA9IC1hZGp1c3Qtb3ZlcmxhcChhbnRpLW92ZXJsYXAsIC1tYXgsIHNpZGU6ICdtYXgnKVxuICAgICAgY29uZGl0aW9uID0gY29uZGl0aW9uICsgJyBhbmQgKG1heC0nICsgdXNlLWRldmljZS13aWR0aCArICd3aWR0aDogJXMpJyAlICgtbWF4KVxuICAgIGlmIG9yaWVudGF0aW9uXG4gICAgICBjb25kaXRpb24gPSBjb25kaXRpb24gKyAnIGFuZCAob3JpZW50YXRpb246ICVzKScgJSAob3JpZW50YXRpb24pXG4gICAgaWYgZGVuc2l0eVxuICAgICAgY29uZGl0aW9ucyA9ICgpXG4gICAgICBmb3IgcXVlcnkgaW4gLWRlbnNpdHktcXVlcmllcyhkZW5zaXR5KVxuICAgICAgICBwdXNoKGNvbmRpdGlvbnMsIGNvbmRpdGlvbiArICcgYW5kICVzJyAlIChxdWVyeSkpXG4gICAgICBjb25kaXRpb24gPSBqb2luKCcsICcsIGNvbmRpdGlvbnMpXG4gICAgQG1lZGlhIGNvbmRpdGlvblxuICAgICAge2Jsb2NrfVxuICBpZiBmYWxsYmFjay1jbGFzc1xuICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAge2Jsb2NrfVxuXG5hdChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbihzY2FsZS1wb2ludCwgc2NhbGUtcG9pbnQsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxuZnJvbS13aWR0aChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbihzY2FsZS1wb2ludCwgbGVuZ3RoKHJ1cHR1cmUuc2NhbGUpLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmFib3ZlID0gZnJvbS13aWR0aFxuXG50by13aWR0aChzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYmV0d2VlbigxLCBzY2FsZS1wb2ludCwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5iZWxvdyA9IHRvLXdpZHRoXG5cbm1vYmlsZShhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICtiZWxvdyhydXB0dXJlLm1vYmlsZS1jdXRvZmYsIGFudGktb3ZlcmxhcCwgZGVuc2l0eSwgb3JpZW50YXRpb24sIHVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzKVxuICAgIHtibG9ja31cblxudGFibGV0KGFudGktb3ZlcmxhcCA9IHJ1cHR1cmUuYW50aS1vdmVybGFwLCBkZW5zaXR5ID0gbnVsbCwgb3JpZW50YXRpb24gPSBudWxsLCB1c2UtZGV2aWNlLXdpZHRoID0gcnVwdHVyZS51c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gIGlmIC1pcy1zdHJpbmcob3JpZW50YXRpb24pXG4gICAgb3JpZW50YXRpb24gPSBjb252ZXJ0KG9yaWVudGF0aW9uKVxuICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgZGVuc2l0eSA9IGNvbnZlcnQoZGVuc2l0eSlcbiAgK2JldHdlZW4ocnVwdHVyZS5tb2JpbGUtY3V0b2ZmLCBydXB0dXJlLmRlc2t0b3AtY3V0b2ZmLCBhbnRpLW92ZXJsYXAsIGRlbnNpdHksIG9yaWVudGF0aW9uLCB1c2UtZGV2aWNlLXdpZHRoLCBmYWxsYmFjay1jbGFzcylcbiAgICB7YmxvY2t9XG5cbmRlc2t0b3AoYW50aS1vdmVybGFwID0gcnVwdHVyZS5hbnRpLW92ZXJsYXAsIGRlbnNpdHkgPSBudWxsLCBvcmllbnRhdGlvbiA9IG51bGwsIHVzZS1kZXZpY2Utd2lkdGggPSBydXB0dXJlLnVzZS1kZXZpY2Utd2lkdGgsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgaWYgLWlzLXN0cmluZyhvcmllbnRhdGlvbilcbiAgICBvcmllbnRhdGlvbiA9IGNvbnZlcnQob3JpZW50YXRpb24pXG4gIGlmIC1pcy1zdHJpbmcoZGVuc2l0eSlcbiAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICArYWJvdmUocnVwdHVyZS5kZXNrdG9wLWN1dG9mZiwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5oZChhbnRpLW92ZXJsYXAgPSBydXB0dXJlLmFudGktb3ZlcmxhcCwgZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgdXNlLWRldmljZS13aWR0aCA9IHJ1cHR1cmUudXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBpZiAtaXMtc3RyaW5nKG9yaWVudGF0aW9uKVxuICAgIG9yaWVudGF0aW9uID0gY29udmVydChvcmllbnRhdGlvbilcbiAgaWYgLWlzLXN0cmluZyhkZW5zaXR5KVxuICAgIGRlbnNpdHkgPSBjb252ZXJ0KGRlbnNpdHkpXG4gICthYm92ZShydXB0dXJlLmhkLWN1dG9mZiwgYW50aS1vdmVybGFwLCBkZW5zaXR5LCBvcmllbnRhdGlvbiwgdXNlLWRldmljZS13aWR0aCwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5kZW5zaXR5KGRlbnNpdHksIG9yaWVudGF0aW9uID0gbnVsbCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBzZWxlY3RlZCA9IHNlbGVjdG9yKClcbiAgaWYgbm90IChydXB0dXJlLnJhc3RlcmlzZS1tZWRpYS1xdWVyaWVzKVxuICAgIGNvbmRpdGlvbnMgPSAoKVxuICAgIGZvciBxdWVyeSBpbiAtZGVuc2l0eS1xdWVyaWVzKGRlbnNpdHkpXG4gICAgICBjb25kaXRpb24gPSAnb25seSBzY3JlZW4gYW5kICVzJyAlIChxdWVyeSlcbiAgICAgIGlmIG9yaWVudGF0aW9uXG4gICAgICAgIGNvbmRpdGlvbiA9IGNvbmRpdGlvbiArICcgYW5kIChvcmllbnRhdGlvbjogJXMpJyAlIChvcmllbnRhdGlvbilcbiAgICAgIHB1c2goY29uZGl0aW9ucywgY29uZGl0aW9uKVxuICAgIGNvbmRpdGlvbiA9IGpvaW4oJywgJywgY29uZGl0aW9ucylcbiAgICBAbWVkaWEgY29uZGl0aW9uXG4gICAgICB7YmxvY2t9XG4gICAgaWYgZmFsbGJhY2stY2xhc3NcbiAgICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICB7YmxvY2t9XG5cbnBpeGVsLXJhdGlvID0gZGVuc2l0eVxuXG5yZXRpbmEob3JpZW50YXRpb24gPSBudWxsLCBmYWxsYmFjay1jbGFzcyA9IG51bGwpXG4gICtkZW5zaXR5KCdyZXRpbmEnLCBvcmllbnRhdGlvbiwgZmFsbGJhY2stY2xhc3MpXG4gICAge2Jsb2NrfVxuXG5sYW5kc2NhcGUoZGVuc2l0eSA9IG51bGwsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgc2VsZWN0ZWQgPSBzZWxlY3RvcigpXG4gIGlmIG5vdCAocnVwdHVyZS5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcylcbiAgICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICAgIGlmIGRlbnNpdHlcbiAgICAgICtwaXhlbC1yYXRpbyhkZW5zaXR5LCBvcmllbnRhdGlvbjogbGFuZHNjYXBlLCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAge2Jsb2NrfVxuICAgIGVsc2VcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXG4gICAgICAgIHtibG9ja31cbiAgICAgIGlmIGZhbGxiYWNrLWNsYXNzXG4gICAgICAgICtjcmVhdGUtZmFsbGJhY2stY2xhc3Moc2VsZWN0ZWQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICAgIHtibG9ja31cblxucG9ydHJhaXQoZGVuc2l0eSA9IG51bGwsIGZhbGxiYWNrLWNsYXNzID0gbnVsbClcbiAgc2VsZWN0ZWQgPSBzZWxlY3RvcigpXG4gIGlmIG5vdCAocnVwdHVyZS5yYXN0ZXJpc2UtbWVkaWEtcXVlcmllcylcbiAgICBpZiAtaXMtc3RyaW5nKGRlbnNpdHkpXG4gICAgICBkZW5zaXR5ID0gY29udmVydChkZW5zaXR5KVxuICAgIGlmIGRlbnNpdHlcbiAgICAgICtwaXhlbC1yYXRpbyhkZW5zaXR5LCBvcmllbnRhdGlvbjogcG9ydHJhaXQsIGZhbGxiYWNrLWNsYXNzKVxuICAgICAgICB7YmxvY2t9XG4gICAgZWxzZVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVxuICAgICAgICB7YmxvY2t9XG4gICAgICBpZiBmYWxsYmFjay1jbGFzc1xuICAgICAgICArY3JlYXRlLWZhbGxiYWNrLWNsYXNzKHNlbGVjdGVkLCBmYWxsYmFjay1jbGFzcylcbiAgICAgICAgICB7YmxvY2t9XG5cbnJ1cHR1cmUtaG92ZXIoZGVuc2l0eSA9IG51bGwsIG9yaWVudGF0aW9uID0gbnVsbCwgZmFsbGJhY2stY2xhc3MgPSBudWxsKVxuICBjb25kaXRpb24gPSBcIm9ubHkgc2NyZWVuIGFuZCAoaG92ZXI6IGhvdmVyKVwiO1xuICBAbWVkaWEgKHtjb25kaXRpb259KVxuICAgIHtibG9ja31cblxuaG92ZXIgPSBydXB0dXJlLWhvdmVyXG4iLCJ1c2UoJy4uL25vZGVzL3ZlbmRvci1oZWxwZXJzLmpzJylcbkBpbXBvcnQgJ2NvbmZpZydcblxuLypcbiAqIEFsaWFzIFwibm93cmFwXCIgYXMgXCJuby13cmFwXCIuXG4gKi9cblxubm8td3JhcCA9IHVucXVvdGUoJ25vd3JhcCcpXG5cbi8qXG4gKiBIZWxwZXIgdG8gZmluZCBvdXQgaWYgYSBnaXZlbiB2YWx1ZSBpcyBhIHdpZHRoXG4gKi9cblxuaXMtd2lkdGgodmFsKVxuICBpZiBhdXRvID09IHZhbFxuICAgIHJldHVybiB0cnVlXG4gIGVsc2UgaWYgdmFsICYmICd1bml0JyA9PSB0eXBlKHZhbClcbiAgICAvLyBTdHlsdXMgZG9lcyBub3Qgc2hvcnQgY2lyY3VpdCBzbyB3ZSBuZWVkIHRvIHBlcmZvcm0gdGhpcyBhcyBhIGRpc3RpbmN0XG4gICAgLy8gb3BlcmF0aW9uIHRvIHByZXZlbnQgZXJyb3JzXG4gICAgcmV0dXJuICcnICE9IHVuaXQodmFsKVxuICByZXR1cm4gZmFsc2VcblxuLypcbiAqIFZlbmRvciBzdXBwb3J0IGZvciB0aGUgZ2l2ZW4gcHJvcCAvIGFyZ3VtZW50cywgb3B0aW9uYWxseSBzcGVjaWZ5aW5nIHRoZVxuICogb25seSBwcmVmaXhlcyB0byB1dGlsaXplLCBvciB0aG9zZSB3aGljaCBzaG91bGQgYmUgaWdub3JlZC5cbiAqL1xuXG52ZW5kb3IocHJvcCwgYXJncywgb25seSA9IG51bGwsIGlnbm9yZSA9IG51bGwsIHZlbmRvci1wcm9wZXJ0eSA9IHRydWUpXG4gIG5lZWRfbm9ybWFsaXplID0gIXZlbmRvci1wcm9wZXJ0eSBvciBwcm9wIGluICgndHJhbnNpdGlvbicgJ3RyYW5zaXRpb24tcHJvcGVydHknICdib3JkZXItaW1hZ2UnICdib3JkZXItaW1hZ2Utc2xpY2UnKVxuICBmb3IgcHJlZml4IGluIHZlbmRvci1wcmVmaXhlc1xuICAgIHVubGVzcyAob25seSBhbmQgIShwcmVmaXggaW4gb25seSkpIG9yIChpZ25vcmUgYW5kIHByZWZpeCBpbiBpZ25vcmUpXG4gICAgICBpZiBvZmZpY2lhbCA9PSBwcmVmaXhcbiAgICAgICAgaWYgbmVlZF9ub3JtYWxpemVcbiAgICAgICAgICB7cHJvcH06IG5vcm1hbGl6ZShwcm9wLCgnJXMnICUgYXJncykpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7cHJvcH06IGFyZ3NcbiAgICAgIGVsc2VcbiAgICAgICAgbmV3cHJvcCA9IHByb3BcbiAgICAgICAgbmV3cHJvcCA9ICctJyArIHByZWZpeCArICctJyArIHByb3AgaWYgdmVuZG9yLXByb3BlcnR5XG5cbiAgICAgICAgaWYgbmVlZF9ub3JtYWxpemVcbiAgICAgICAgICB7bmV3cHJvcH06IG5vcm1hbGl6ZShwcm9wLCgnJXMnICUgYXJncykscHJlZml4KVxuICAgICAgICBlbHNlXG4gICAgICAgICAge25ld3Byb3B9OiBhcmdzXG4vKlxuICogVmVuZG9yaXplIHRoZSBnaXZlbiB2YWx1ZS5cbiAqL1xuXG52ZW5kb3ItdmFsdWUoYXJnLCBvbmx5ID0gbnVsbCwgaWdub3JlID0gbnVsbClcbiAgcHJvcCA9IGN1cnJlbnQtcHJvcGVydHlbMF1cbiAgZm9yIHByZWZpeCBpbiB2ZW5kb3ItcHJlZml4ZXNcbiAgICB1bmxlc3MgKG9ubHkgYW5kICEocHJlZml4IGluIG9ubHkpKSBvciAoaWdub3JlIGFuZCBwcmVmaXggaW4gaWdub3JlKSBvciBvZmZpY2lhbCA9PSBwcmVmaXhcbiAgICAgIGFkZC1wcm9wZXJ0eShwcm9wLCAnLSVzLSVzJyAlIChwcmVmaXggYXJnKSlcbiAgYXJnXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtc2hhZG93XCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtc2hhZG93KClcbiAgdmVuZG9yKCdib3gtc2hhZG93JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJ1c2VyLXNlbGVjdFwiIHN1cHBvcnQuXG4gKi9cblxudXNlci1zZWxlY3QoKVxuICB2ZW5kb3IoJ3VzZXItc2VsZWN0JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWNvdW50XCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tY291bnQoKVxuICB2ZW5kb3IoJ2NvbHVtbi1jb3VudCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1nYXBcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1nYXAoKVxuICB2ZW5kb3IoJ2NvbHVtbi1nYXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZVwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGUtY29sb3JcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlLWNvbG9yKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZS1jb2xvcicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlLXdpZHRoXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZS13aWR0aCgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUtd2lkdGgnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZS1zdHlsZVwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUtc3R5bGUoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlLXN0eWxlJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXdpZHRoXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4td2lkdGgoKVxuICB2ZW5kb3IoJ2NvbHVtbi13aWR0aCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1zcGFuXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tc3BhbigpXG4gIHZlbmRvcignY29sdW1uLXNwYW4nLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1maWxsXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tZmlsbCgpXG4gIHZlbmRvcignY29sdW1uLWZpbGwnLCBhcmd1bWVudHMsIG9ubHk6IG1veiBvZmZpY2lhbClcblxuLypcbiAqIExlZ2FjeSBzeW50YXggc3VwcG9ydCBmb3IgYmFja2dyb3VuZC1jbGlwIGFuZCBiYWNrZ3JvdW5kLW9yaWdpblxuICovXG5cbmxlZ2FjeS1iZy12YWx1ZXMocHJvcGVydHksIGFyZ3MpXG4gIGxlZ2FjeV9hcmdzID0gKClcbiAgaW1wb3J0YW5jZSA9IHVucXVvdGUoJycpXG4gIGZvciBzdWJhcmdzIGluIGFyZ3NcbiAgICBmb3IgYXJnIGluIHN1YmFyZ3NcbiAgICAgIGlmIGFyZyBpbiAoYm9yZGVyLWJveCBwYWRkaW5nLWJveCBjb250ZW50LWJveClcbiAgICAgICAgYXJnID0gdW5xdW90ZSgnYm9yZGVyJykgIGlmIGFyZyA9PSBib3JkZXItYm94XG4gICAgICAgIGFyZyA9IHVucXVvdGUoJ3BhZGRpbmcnKSBpZiBhcmcgPT0gcGFkZGluZy1ib3hcbiAgICAgICAgYXJnID0gdW5xdW90ZSgnY29udGVudCcpIGlmIGFyZyA9PSBjb250ZW50LWJveFxuICAgICAgaWYgYXJnICE9ICchaW1wb3J0YW50J1xuICAgICAgICBwdXNoKGxlZ2FjeV9hcmdzLGFyZylcbiAgICAgIGVsc2VcbiAgICAgICAgaW1wb3J0YW5jZSA9ICFpbXBvcnRhbnRcbiAgdmVuZG9yKHByb3BlcnR5LCB1bnF1b3RlKGpvaW4oJywgJyxsZWdhY3lfYXJncykpIGltcG9ydGFuY2UsIG9ubHk6IG1veiB3ZWJraXQpXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZ3JvdW5kLWNsaXBcIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtY2xpcCgpXG4gIGlmIGFyZ3VtZW50c1swXSA9PSB0ZXh0XG4gICAgdmVuZG9yKCdiYWNrZ3JvdW5kLWNsaXAnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdClcbiAgZWxzZVxuICAgIGxlZ2FjeS1iZy12YWx1ZXMoJ2JhY2tncm91bmQtY2xpcCcsIGFyZ3VtZW50cylcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYmFja2dyb3VuZC1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG5cbmJhY2tncm91bmQtb3JpZ2luKClcbiAgbGVnYWN5LWJnLXZhbHVlcygnYmFja2dyb3VuZC1vcmlnaW4nLCBhcmd1bWVudHMpXG4gIGJhY2tncm91bmQtb3JpZ2luOiBhcmd1bWVudHNcblxuLypcbiAqIFZlbmRvciBcInRyYW5zZm9ybVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNmb3JtKClcbiAgdmVuZG9yKCd0cmFuc2Zvcm0nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2Zvcm0tb3JpZ2luXCIgc3VwcG9ydC5cbiAqL1xudHJhbnNmb3JtLW9yaWdpbigpXG4gICAgdmVuZG9yKCd0cmFuc2Zvcm0tb3JpZ2luJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNmb3JtLXN0eWxlXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2Zvcm0tc3R5bGUoKVxuICB2ZW5kb3IoJ3RyYW5zZm9ybS1zdHlsZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImJvcmRlci1pbWFnZVwiIHN1cHBvcnQuXG4gKi9cblxuYm9yZGVyLWltYWdlKClcbiAgdmVuZG9yKCdib3JkZXItaW1hZ2UnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb25cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLXByb3BlcnR5XCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLXByb3BlcnR5KClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLXByb3BlcnR5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1kdXJhdGlvblwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1kdXJhdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1kdXJhdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLWRlbGF5XCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLWRlbGF5KClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLWRlbGF5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYmFja2ZhY2UtdmlzaWJpbGl0eVwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2ZhY2UtdmlzaWJpbGl0eSgpXG4gIHZlbmRvcignYmFja2ZhY2UtdmlzaWJpbGl0eScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInBlcnNwZWN0aXZlXCIgc3VwcG9ydC5cbiAqL1xuXG5wZXJzcGVjdGl2ZSgpXG4gIGlmIG1peGluXG4gICAgdmVuZG9yKCdwZXJzcGVjdGl2ZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcbiAgZWxzZVxuICAgICdwZXJzcGVjdGl2ZSglcyknICUgYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJwZXJzcGVjdGl2ZS1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG5cbnBlcnNwZWN0aXZlLW9yaWdpbigpXG4gIHZlbmRvcigncGVyc3BlY3RpdmUtb3JpZ2luJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogT3BhY2l0eSB3aXRoIGNvbmRpdGlvbmFsIElFIHN1cHBvcnQuXG4gKi9cblxub3BhY2l0eShuLCBhcmdzLi4uKVxuICBvcGFjaXR5OiBuIGFyZ3NcbiAgaWYgc3VwcG9ydC1mb3ItaWVcbiAgICBpZiBuID09IGluaGVyaXQgb3IgbiA9PSBpbml0aWFsXG4gICAgICAtbXMtZmlsdGVyOiBuIGFyZ3NcbiAgICAgIGZpbHRlcjogbiBhcmdzXG4gICAgZWxzZVxuICAgICAgdmFsID0gcm91bmQobiAqIDEwMClcbiAgICAgIGlmIHZhbCA9PSAxMDBcbiAgICAgICAgLW1zLWZpbHRlcjogbm9uZSBhcmdzXG4gICAgICAgIGZpbHRlcjogbm9uZSBhcmdzXG4gICAgICBlbHNlXG4gICAgICAgIC1tcy1maWx0ZXI6ICdcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSVzKVwiJyAlIHZhbCBhcmdzXG4gICAgICAgIGZpbHRlcjogJ2FscGhhKG9wYWNpdHk9JXMpJyAlIHZhbCBhcmdzXG5cbi8qXG4gKiBWZW5kb3IgXCJ0ZXh0LXNpemUtYWRqdXN0XCJcbiAqL1xuXG50ZXh0LXNpemUtYWRqdXN0KClcbiAgdmVuZG9yKCd0ZXh0LXNpemUtYWRqdXN0JywgYXJndW1lbnRzKVxuXG4vKlxuICogQWxpYXMgdGhlIFwid2hpdGUtc3BhY2VcIiBwcm9wZXJ0eS5cbiAqL1xuXG53aGl0ZXNwYWNlKClcbiAgd2hpdGUtc3BhY2U6IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYm94LXNpemluZ1wiIHN1cHBvcnQuXG4gKi9cblxuYm94LXNpemluZygpXG4gIHZlbmRvcignYm94LXNpemluZycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1vcmllbnRcIiBzdXBwb3J0LlxuICovXG5cbmJveC1vcmllbnQoKVxuICB2ZW5kb3IoJ2JveC1vcmllbnQnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtZmxleC1ncm91cFwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWZsZXgtZ3JvdXAoKVxuICB2ZW5kb3IoJ2JveC1mbGV4LWdyb3VwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LW9yZGluYWwtZ3JvdXBcIiBzdXBwb3J0LlxuICovXG5cbmJveC1vcmRpbmFsLWdyb3VwKClcbiAgdmVuZG9yKCdib3gtb3JkaW5hbC1ncm91cCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuXG4vKlxuICogVmVuZG9yIFwiYm94LWFsaWduXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtYWxpZ24oKVxuICB2ZW5kb3IoJ2JveC1hbGlnbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1wYWNrXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtcGFjaygpXG4gIHZlbmRvcignYm94LXBhY2snLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtZGlyZWN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtZGlyZWN0aW9uKClcbiAgdmVuZG9yKCdib3gtZGlyZWN0aW9uJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbicsIGFyZ3VtZW50cylcblxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLW5hbWVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1uYW1lKClcbiAgdmVuZG9yKCdhbmltYXRpb24tbmFtZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1kdXJhdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWR1cmF0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24tZHVyYXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZGVsYXlcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kZWxheSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLWRlbGF5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWRpcmVjdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWRpcmVjdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLWRpcmVjdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnRcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLXBsYXktc3RhdGVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1wbGF5LXN0YXRlKClcbiAgdmVuZG9yKCdhbmltYXRpb24tcGxheS1zdGF0ZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1maWxsLW1vZGVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1maWxsLW1vZGUoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1maWxsLW1vZGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJoeXBoZW5zXCIgc3VwcG9ydC5cbiAqL1xuXG5oeXBoZW5zKClcbiAgdmVuZG9yKCdoeXBoZW5zJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYXBwZWFyYW5jZVwiIHN1cHBvcnQuXG4gKi9cblxuYXBwZWFyYW5jZSgpXG4gIHZlbmRvcignYXBwZWFyYW5jZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRhYi1zaXplXCIgc3VwcG9ydC5cbiAqL1xuXG50YWItc2l6ZSgpXG4gIHZlbmRvcigndGFiLXNpemUnLCBhcmd1bWVudHMsIG9ubHk6IG1veiBvIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwib3ZlcmZsb3ctc2Nyb2xsaW5nXCIgc3VwcG9ydC5cbiAqL1xuXG5vdmVyZmxvdy1zY3JvbGxpbmcoKVxuICB2ZW5kb3IoJ292ZXJmbG93LXNjcm9sbGluZycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwidGV4dC1vdmVyZmxvd1wiIHN1cHBvcnQsICwgLW8tIGZvciBvcGVyYSA5LiogLSAxMC4qXG4gKi9cblxudGV4dC1vdmVyZmxvdygpXG4gIHZlbmRvcigndGV4dC1vdmVyZmxvdycsIGFyZ3VtZW50cywgb25seTogb2ZmaWNpYWwgbylcblxuLypcbiAqIFZlbmRvciBcInRleHQtc2l6ZS1hZGp1c3RcIiBzdXBwb3J0LlxuICovXG50ZXh0LXNpemUtYWRqdXN0KClcbiAgdmVuZG9yKCd0ZXh0LXNpemUtYWRqdXN0JywgYXJndW1lbnRzLCBvbmx5OiBvZmZpY2lhbCB3ZWJraXQgbXMpXG5cbi8qXG4gKiBWZW5kb3IgXCJmb250LXNtb290aGluZ1wiIHN1cHBvcnQsIHdlYmtpdCBvbmx5LlxuICovXG5mb250LXNtb290aGluZygpXG4gIHZlbmRvcignZm9udC1zbW9vdGhpbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdClcblxuXG4vKipcbiAqIFZlbmRvciBpbnB1dC1wbGFjZWhvbGRlci9wbGFjZWhvbGRlciBzdXBwb3J0LlxuICpcbiAqIEV4YW1wbGVzOlxuICogICAgLy8gRGVmYXVsdCBzeW50YXhcbiAqICAgIGJvZHlcbiAqICAgICAgcGxhY2Vob2xkZXIoY29sb3IgIzMzMywgZm9udC13ZWlnaHQgbm9ybWFsKVxuICpcbiAqICAgIC8vIFRoZSBjb21tYSBpcyBpbXBvcnRhbnRcbiAqICAgIC5wbGFjZWhvbGRlci1yZWRcbiAqICAgICAgcGxhY2Vob2xkZXIoY29sb3IgcmVkLClcbiAqXG4gKiAgICAvLyBXZSBjYW4gcGFzcyBhIGZ1bmN0aW9uXG4gKiAgICBncmVlbi1wbGFjZWhvbGRlcigpXG4gKiAgICAgIGNvbG9yIGdyZWVuXG4gKiAgICAucGxhY2Vob2xkZXItZ3JlZW5cbiAqICAgICAgcGxhY2Vob2xkZXIoZ3JlZW4tcGxhY2Vob2xkZXIpXG4gKlxuICogICAgLy8gV2UgY2FuIHBhc3MgYSBoYXNoXG4gKiAgICB0ZXh0YXJlYVxuICogICAgICBwbGFjZWhvbGRlcigoZm9udC1zdHlsZSBpdGFsaWMpIChmb250LXdlaWdodCBib2xkKSAocGFkZGluZyAnNHB4IDEwcHgnKSlcbiAqL1xucGxhY2Vob2xkZXIoKVxuICBmb3IgdiBpbiAnOi13ZWJraXQtaW5wdXQnICctbW96JyAnOi1tb3onICctbXMtaW5wdXQnXG4gICAgJjp7dn0tcGxhY2Vob2xkZXJcbiAgICAgIGZvciBwYWlyIGluIGFyZ3VtZW50c1xuICAgICAgICBpZiB0eXBlb2YocGFpcikgPT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgIHBhaXIoKVxuICAgICAgICBlbHNlIGlmIHBhaXIgaXMgbm90IG51bGwgJiYgcGFpclswXSBpcyBub3QgbnVsbFxuICAgICAgICAgIHtwYWlyWzBdfTogdHlwZShwYWlyWzFdKSA9PSAnc3RyaW5nJyA/IHMocGFpclsxXSkgOiBwYWlyWzFdXG5pbnB1dC1wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyXG5cbi8qXG4gKiBWZW5kb3IgYmFja2dyb3VuZCBzdXBwb3J0IChncmFkaWVudHMpLlxuICovXG5cbmJhY2tncm91bmQoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignYmFja2dyb3VuZCcsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGJhY2tncm91bmQgYXJndW1lbnRzXG5cbmJhY2tncm91bmQtaW1hZ2UoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignYmFja2dyb3VuZC1pbWFnZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGJhY2tncm91bmQtaW1hZ2UgYXJndW1lbnRzXG5cbmN1cnNvcigpXG4gIGlmIG1hdGNoKCctZ3JhZGllbnRcXCgnLCAnJythcmd1bWVudHMpXG4gICAgdmVuZG9yKCdjdXJzb3InLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBjdXJzb3IgYXJndW1lbnRzXG5cbmxpc3Qtc3R5bGUoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignbGlzdC1zdHlsZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGxpc3Qtc3R5bGUgYXJndW1lbnRzXG5cbmxpc3Qtc3R5bGUtaW1hZ2UoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignbGlzdC1zdHlsZS1pbWFnZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGxpc3Qtc3R5bGUtaW1hZ2UgYXJndW1lbnRzXG4iLCJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvK0NvbmRlbnNlZDp3Z2h0QDMwMDs0MDAmZGlzcGxheT1zd2FwXCIpO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9kY2hlbmtvJztcbiAgc3JjOiB1cmwoXCIvc3RhdGljL2ZvbnRzL1JvZGNoZW5rby50dGZcIik7XG59XG5odG1sIHtcbiAgZm9udC1mYW1pbHk6ICdSb2RjaGVua28nLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogY2FsYygoMTAwdncgLyA2NCkpO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogY2FsYygoMTAwdncgLyAyOC4xMjUpKTtcbiAgfVxufVxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMjUzMjM4O1xufVxubWFpbiB7XG4gIHBhZGRpbmctdG9wOiA2LjY4NzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cbmlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxudWwsXG5saSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuKjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAyLjVyZW07XG4gIG1heC13aWR0aDogNzYuMjVyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gIH1cbn1cbi5jb250ZW50IHtcbiAgcGFkZGluZzogMS44NzVyZW0gMCA1LjMxMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwIDNyZW07XG4gIH1cbn1cbi5jb250ZW50Lm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYmFja2dyb3VuZC1sYXlvdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMjQuMzc1cmVtO1xuICB6LWluZGV4OiAtMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tb3otYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1vLWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuLmJhY2tncm91bmQtbGF5b3V0IHN2ZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDM1cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmJhY2tncm91bmQtbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYmFja2dyb3VuZC1sYXlvdXQuZnVsbGhlaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uYmFja2dyb3VuZC1sYXlvdXQuZnVsbGhlaWdodCBpbWcge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMi41KTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDIuNSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMi41KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMi41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgyLjUpO1xufVxuaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xufVxuLnN3aXBlciB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5zd2lwZXItc2xpZGUge1xuICBjdXJzb3I6IGdyYWI7XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAtby1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwOiAwLjU2MjVyZW07XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LXdpZHRoOiAwLjc1cmVtO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQ6IDAuNzVyZW07XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWluYWN0aXZlLWNvbG9yOiAjOTBhNGFmO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiAjZTY3OTJkO1xufVxuLm1haW5wYWdlLWxpbmsge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW8tYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICM3NTg3OTE7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5tYWlucGFnZS1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ubWFpbnBhZ2UtbGluayBzdmcge1xuICBtYXJnaW4tbGVmdDogMC4xODc1cmVtO1xufVxuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUzMjM4O1xufVxuLmhlYWRlciAuaGVhZGVyLXRvcCB7XG4gIHBhZGRpbmc6IDAuODEyNXJlbSAwO1xufVxuLmhlYWRlciAuaGVhZGVyLXRvcF9fbGlzdCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAtby1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtbW96LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtby1ib3gtcGFjazoganVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5oZWFkZXIgLmhlYWRlci10b3BfX2l0ZW0ge1xuICBmb250LXNpemU6IDFyZW07XG59XG4uaGVhZGVyIC5oZWFkZXItYm90dG9tIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgYmFja2dyb3VuZDogIzFhMjgyZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xufVxuLmhlYWRlciAuaGVhZGVyLWJvdHRvbV9fcm93IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XG4gIC1vLWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAuaGVhZGVyIC5oZWFkZXItYm90dG9tX19ibG9jay5jZW50ZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4uaGVhZGVyIC5oZWFkZXItYm90dG9tLmFjdGl2ZSAjaGVhZGVyLW9yZ2FuaXplcnMgc3BhbiB7XG4gIGNvbG9yOiAjZTY3OTJkO1xufVxuLmhlYWRlciAuaGVhZGVyLWJvdHRvbS5hY3RpdmUgLmhlYWRlci1uYXZfX3N1Ym1lbnUge1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgb3BhY2l0eTogMTtcbiAgLW1zLWZpbHRlcjogbm9uZTtcbiAgZmlsdGVyOiBub25lO1xufVxuLmhlYWRlci1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMC45Mzc1cmVtO1xuICBoZWlnaHQ6IDIuODEyNXJlbTtcbn1cbi5oZWFkZXItbmF2IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMi41cmVtO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW8tYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiA0LjM3NXJlbTtcbiAgLW1vei1jb2x1bW4tZ2FwOiA0LjM3NXJlbTtcbiAgY29sdW1uLWdhcDogNC4zNzVyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAuaGVhZGVyLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmhlYWRlci1uYXZfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbn1cbi5oZWFkZXItbmF2X19pdGVtIHNwYW4ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3MgY29sb3IgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAwLjNzIGNvbG9yIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IDAuM3MgY29sb3IgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IDAuM3MgY29sb3IgZWFzZTtcbiAgdHJhbnNpdGlvbjogMC4zcyBjb2xvciBlYXNlO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmhlYWRlci1uYXZfX2l0ZW06aG92ZXIgc3BhbiB7XG4gICAgY29sb3I6ICNlNjc5MmQ7XG4gIH1cbn1cbi5oZWFkZXItbmF2X19pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjZTY3OTJkO1xufVxuLmhlYWRlci1uYXZfX3N1Ym1lbnUge1xuICBwYWRkaW5nLXRvcDogMS43NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuLmhlYWRlci1uYXZfX3N1Yml0ZW0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmhlYWRlci1uYXZfX3N1Yml0ZW0gc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDAuODEyNXJlbTtcbiAgaGVpZ2h0OiAwLjgxMjVyZW07XG59XG4uaGVhZGVyLWNvbnRhY3RzIHtcbiAgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAuaGVhZGVyLWNvbnRhY3RzIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbi5oZWFkZXItY29udGFjdHNfX3Bob25lIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbn1cbi5oZWFkZXItY29udGFjdHNfX3Bob25lIHNwYW4ge1xuICBjb2xvcjogIzgyOGQ5Mztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmhlYWRlci1jb250YWN0c19fcGhvbmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLmhlYWRlci1jb250YWN0c19fbWFpbCB7XG4gIGNvbG9yOiAjZTY3OTJkO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuaGVhZGVyLWNvbnRhY3RzX19tYWlsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaGVhZGVyLWxhbmdwaWNrZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNlNjc5MmQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XG4gIC1vLWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1vei1ib3gtcGFjazogY2VudGVyO1xuICAtby1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5oZWFkZXItbGFuZ3BpY2tlcjpob3ZlciAuaGVhZGVyLWxhbmdwaWNrZXJfX3ZhbHVlcyB7XG4gIG1heC1oZWlnaHQ6IDcuODEyNXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5oZWFkZXItbGFuZ3BpY2tlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmhlYWRlci1sYW5ncGlja2VyID4gc3BhbiB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMwMDA7XG59XG4uaGVhZGVyLWxhbmdwaWNrZXJfX3ZhbHVlcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxLjYyNXJlbTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtby1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogMC4wNjI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZTtcbiAgbWF4LWhlaWdodDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmhlYWRlci1sYW5ncGlja2VyX192YWx1ZXMgbGkge1xuICBwYWRkaW5nOiAwLjEyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODI4ZDkzO1xuICB3aWR0aDogMTAwJTtcbn1cbi5oZWFkZXItbGFuZ3BpY2tlcl9fdmFsdWVzIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tb2JpbGUge1xuICBwYWRkaW5nOiA1cmVtIDIuMTg3NXJlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMjUzMjM4O1xuICB3aWR0aDogNTAlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubW9iaWxlOm5vdCgub3Blbikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLm1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm1vYmlsZS1tZW51IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gIC1vLWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiA0LjM3NXJlbTtcbn1cbi5tb2JpbGUtbWVudV9fc3VibWVudSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLW8tYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHJvdy1nYXA6IDEuMjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi5tb2JpbGUtbWVudV9fc3ViaXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubW9iaWxlLW1lbnVfX3N1Yml0ZW0gc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDAuODEyNXJlbTtcbiAgaGVpZ2h0OiAwLjgxMjVyZW07XG59XG4ubW9iaWxlLWl0ZW0ge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGNvbG9yOiAjZmZmO1xufVxuLm1vYmlsZS1pdGVtOmZpcnN0LWxldHRlciB7XG4gIGNvbG9yOiAjZTY3OTJkO1xufVxuLm1vYmlsZS1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMjEuODc1cmVtO1xuICBsZWZ0OiAwO1xufVxuLmZvb3RlciB7XG4gIHBhZGRpbmc6IDJyZW0gMCAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICMxYTI4MmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmc6IDIuMTI1cmVtIDAgMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgLW1vei1ib3gtcGFjazoganVzdGlmeTtcbiAgLW8tYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uZm9vdGVyLWJhY2tncm91bmQgc3ZnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMzAuNzVyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAuZm9vdGVyLWJhY2tncm91bmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5mb290ZXItbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtO1xuICB3aWR0aDogMTAuOTM3NXJlbTtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG59XG4uZm9vdGVyLXJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDUuNXJlbTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tb3otYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1vLWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuZm9vdGVyLXJvdyB7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC1vLWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtby1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMy4xMjVyZW07XG4gIH1cbn1cbi5mb290ZXItbGVmdCB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZvb3Rlci1sZWZ0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbi5mb290ZXItYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cbi5mb290ZXItcGhvbmUge1xuICBtYXJnaW4tYm90dG9tOiAwLjU2MjVyZW07XG59XG4uZm9vdGVyLW1haWwge1xuICBjb2xvcjogI2U2NzkyZDtcbn1cbi5mb290ZXItbmF2IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNC4zNzVyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBnYXA6IDIuNXJlbTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLW8tYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbi5mb290ZXItbmF2X19pdGVtIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBjb2xvciAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgY29sb3I6ICM3NTg3OTE7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZm9vdGVyLW5hdl9faXRlbTpob3ZlciB7XG4gICAgY29sb3I6ICNlNjc5MmQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZvb3Rlci1uYXZfX2l0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG4uZm9vdGVyLWNvcHlyaWdodCB7XG4gIGNvbG9yOiAjNzU4NzkxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucHJvbW90aW9uLWJsb2NrcyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtby1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogMS44NzVyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5wcm9tb3Rpb24tYmxvY2tzIHtcbiAgICByb3ctZ2FwOiAxcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wcm9tb3Rpb24tYmxvY2tzIHtcbiAgICByb3ctZ2FwOiAwLjYyNXJlbTtcbiAgfVxufVxuLnByb21vdGlvbi1yb3cge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAtMC45Mzc1cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAucHJvbW90aW9uLXJvdyB7XG4gICAgbWFyZ2luOiAtMC41cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wcm9tb3Rpb24tcm93IHtcbiAgICBtYXJnaW46IC0wLjMxMjVyZW07XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC1vLWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5wcm9tb3Rpb24tcm93OmZpcnN0LWNoaWxkIHtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgLW1vei1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC1vLWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC1vLWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG4ucHJvbW90aW9uLWJsb2NrIHtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDMpKTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLnByb21vdGlvbi1ibG9jayB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wcm9tb3Rpb24tYmxvY2sge1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG4ucHJvbW90aW9uLWJsb2NrLS1iaWcge1xuICB3aWR0aDogY2FsYygxMDAlIC8gMyAqIDIpO1xufVxuLnByb21vdGlvbi1hZGRpdGlvbmFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyLjQzNzVyZW07XG4gIGJvdHRvbTogLTIuODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvdHRvbSAwLjZzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYm90dG9tIDAuNnMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYm90dG9tIDAuNnMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGJvdHRvbSAwLjZzIGVhc2U7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjZzIGVhc2U7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5wcm9tb3Rpb24tYWRkaXRpb25hbCB7XG4gICAgYm90dG9tOiAzcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wcm9tb3Rpb24tYWRkaXRpb25hbCB7XG4gICAgbGVmdDogMS41cmVtO1xuICAgIGJvdHRvbTogMy4xMjVyZW07XG4gIH1cbn1cbi5wcm9tb3Rpb24tYWRkaXRpb25hbC5yb3RhdGVkIHtcbiAgbGVmdDogaW5pdGlhbDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApIHJvdGF0ZSgwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKSByb3RhdGUoMGRlZyk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApIHJvdGF0ZSgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDApIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgMCkgcm90YXRlKDBkZWcpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNnMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjZzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjZzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtdHJhbnNmb3JtIDAuNnMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMgZWFzZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5wcm9tb3Rpb24tYWRkaXRpb25hbC5yb3RhdGVkIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUuNjI1cmVtLCAtMS4yNXJlbSkgcm90YXRlKC00NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1LjYyNXJlbSwgLTEuMjVyZW0pIHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDUuNjI1cmVtLCAtMS4yNXJlbSkgcm90YXRlKC00NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDUuNjI1cmVtLCAtMS4yNXJlbSkgcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNS42MjVyZW0sIC0xLjI1cmVtKSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucHJvbW90aW9uLWFkZGl0aW9uYWwucm90YXRlZCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMi41cmVtLCAtMS44NzVyZW0pIHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTIuNXJlbSwgLTEuODc1cmVtKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMi41cmVtLCAtMS44NzVyZW0pIHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMi41cmVtLCAtMS44NzVyZW0pIHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEyLjVyZW0sIC0xLjg3NXJlbSkgcm90YXRlKC00NWRlZyk7XG4gIH1cbn1cbi5wcm9tb3Rpb24tdGl0bGUge1xuICBmb250LXNpemU6IDIuNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG59XG4ucHJvbW90aW9uLWJ1dHRvbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuOTM3NXJlbTtcbiAgYmFja2dyb3VuZDogI2U2NzkyZDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBjb2xvcjogIzAwMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjNzIGVhc2UgYmFja2dyb3VuZC1jb2xvcjtcbiAgLW1vei10cmFuc2l0aW9uOiAwLjNzIGVhc2UgYmFja2dyb3VuZC1jb2xvcjtcbiAgLW8tdHJhbnNpdGlvbjogMC4zcyBlYXNlIGJhY2tncm91bmQtY29sb3I7XG4gIC1tcy10cmFuc2l0aW9uOiAwLjNzIGVhc2UgYmFja2dyb3VuZC1jb2xvcjtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGJhY2tncm91bmQtY29sb3I7XG59XG4ucHJvbW90aW9uLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWNkODE7XG59XG4ucHJvbW90aW9uLWJsb2NrX19pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIyLjVyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5wcm9tb3Rpb24tYmxvY2tfX2lubmVyIHtcbiAgICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wcm9tb3Rpb24tYmxvY2tfX2lubmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMzQ0IC8gMzc2ICogMTAwJSk7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5wcm9tb3Rpb24tYmxvY2tfX2lubmVyOmhvdmVyIC5wcm9tb3Rpb24tYWRkaXRpb25hbDpub3QoLnJvdGF0ZWQpIHtcbiAgICBib3R0b206IDNyZW07XG4gIH1cbiAgLnByb21vdGlvbi1ibG9ja19faW5uZXI6aG92ZXIgLnByb21vdGlvbi1hZGRpdGlvbmFsLnJvdGF0ZWQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoOS4zNzVyZW0sIC05LjM3NXJlbSkgcm90YXRlKC00NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSg5LjM3NXJlbSwgLTkuMzc1cmVtKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg5LjM3NXJlbSwgLTkuMzc1cmVtKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoOS4zNzVyZW0sIC05LjM3NXJlbSkgcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOS4zNzVyZW0sIC05LjM3NXJlbSkgcm90YXRlKC00NWRlZyk7XG4gIH1cbiAgLnByb21vdGlvbi1ibG9ja19faW5uZXI6aG92ZXIgaW1nLmVsZW1lbnRzIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDEuMjVyZW0sIDEuMjVyZW0pIHJvdGF0ZSgyMGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxLjI1cmVtLCAxLjI1cmVtKSByb3RhdGUoMjBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDEuMjVyZW0sIDEuMjVyZW0pIHJvdGF0ZSgyMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDEuMjVyZW0sIDEuMjVyZW0pIHJvdGF0ZSgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMS4yNXJlbSwgMS4yNXJlbSkgcm90YXRlKDIwZGVnKTtcbiAgfVxuICAucHJvbW90aW9uLWJsb2NrX19pbm5lcjpob3ZlciBpbWcuZWxlbWVudHMubGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAlLCAtMTAlKSByb3RhdGUoMTYwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMCUsIC0xMCUpIHJvdGF0ZSgxNjBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMCUsIC0xMCUpIHJvdGF0ZSgxNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAlLCAtMTAlKSByb3RhdGUoMTYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAlLCAtMTAlKSByb3RhdGUoMTYwZGVnKTtcbiAgfVxuICAucHJvbW90aW9uLWJsb2NrX19pbm5lcjpob3ZlciBpbWcuYmcge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTUwKVwiO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gIH1cbiAgLnByb21vdGlvbi1ibG9ja19faW5uZXI6aG92ZXIgLnRyaWFuZ2xlIGltZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbiAgLnByb21vdGlvbi1ibG9ja19faW5uZXI6aG92ZXIgLnRyaWFuZ2xlLWxhYmVsIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xLjI1cmVtLCA1MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEuMjVyZW0sIDUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEuMjVyZW0sIDUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xLjI1cmVtLCA1MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xLjI1cmVtLCA1MCUpO1xuICB9XG59XG4ucHJvbW90aW9uLWJsb2NrX19pbm5lciBpbWcuYmcge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgZWFzZTtcbn1cbi5wcm9tb3Rpb24tYmxvY2tfX2lubmVyIGltZy5lbGVtZW50cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjZzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC42cyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gMC42cyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogLW1zLXRyYW5zZm9ybSAwLjZzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2U7XG59XG4ucHJvbW90aW9uLWJsb2NrX19pbm5lciBpbWcuZWxlbWVudHMubGVmdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgbGVmdDogLTMuNzVyZW07XG4gIHRvcDogLTAuOTM3NXJlbTtcbn1cbi5wcm9tb3Rpb24tYmxvY2tfX2lubmVyIGltZy5lbGVtZW50cy5yaWdodCB7XG4gIHJpZ2h0OiAtMy43NXJlbTtcbiAgYm90dG9tOiAtMC45Mzc1cmVtO1xufVxuLnByb21vdGlvbi1ibG9ja19faW5uZXIgLnRyaWFuZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxLjg3NXJlbTtcbiAgd2lkdGg6IDUuNDM3NXJlbTtcbiAgaGVpZ2h0OiAxMC42MjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAucHJvbW90aW9uLWJsb2NrX19pbm5lciAudHJpYW5nbGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgYm90dG9tOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAlKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAlKTtcbiAgfVxufVxuLnByb21vdGlvbi1ibG9ja19faW5uZXIgLnRyaWFuZ2xlIGltZyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuNnMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuNnMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy10cmFuc2Zvcm0gMC42cyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLnByb21vdGlvbi1ibG9ja19faW5uZXIgLnRyaWFuZ2xlIGltZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cbi5wcm9tb3Rpb24tYmxvY2tfX2lubmVyIC50cmlhbmdsZS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDExMCUsIDUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTEwJSwgNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTEwJSwgNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDExMCUsIDUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDExMCUsIDUwJSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC42cyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuNnMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuNnMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy10cmFuc2Zvcm0gMC42cyBlYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLnByb21vdGlvbi1ibG9ja19faW5uZXIgLnRyaWFuZ2xlLWxhYmVsIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xLjI1cmVtLCA1MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEuMjVyZW0sIDUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEuMjVyZW0sIDUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xLjI1cmVtLCA1MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xLjI1cmVtLCA1MCUpO1xuICB9XG59XG4uY2xpZW50cy1jb250YWluZXIge1xuICBwYWRkaW5nOiA1cmVtIDAgNC42MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmNsaWVudHMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAzLjc1cmVtIDAgMy4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuY2xpZW50cy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwIDMuMjVyZW07XG4gIH1cbn1cbi5jbGllbnRzLWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAwLjMxMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MGE0YWY7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5jbGllbnRzLWNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDAuMTg3NXJlbTtcbiAgfVxufVxuLmNsaWVudHMtcm93IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uY2xpZW50cy10aXRsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNjI1cmVtO1xuICBmb250LXNpemU6IDRyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmNsaWVudHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuY2xpZW50cy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICB9XG59XG4uY2xpZW50cy1kZWNvcmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tb3otYm94LWZsZXg6IDE7XG4gIC1vLWJveC1mbGV4OiAxO1xuICAtbXMtYm94LWZsZXg6IDE7XG4gIGJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXgtZ3JvdzogMTtcbiAgZmxleC1ncm93OiAxO1xufVxuLmNsaWVudHMtZGVjb3JsaW5lOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNXJlbTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMC4zMTI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTBhNGFmO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuY2xpZW50cy1kZWNvcmxpbmU6OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gIH1cbn1cbi5jbGllbnRzLXNsaWRlciAuc3dpcGVyLXNsaWRlIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTIuNXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmNsaWVudHMtc2xpZGVyIC5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogMTAuNXJlbTtcbiAgfVxufVxuLmNsaWVudHMtc2xpZGVyIHtcbiAgcGFkZGluZzogNXJlbSAwIDYuNTYyNXJlbTtcbn1cbi5jbGllbnRzLXNsaWRlciBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uY2xpZW50cy1zbGlkZXIgLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmJ1cmdlci1idXR0b24ge1xuICB3aWR0aDogMS43NXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogMC41cyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5idXJnZXItYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYnVyZ2VyLWJ1dHRvbiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG9wYWNpdHk6IDE7XG4gIC1tcy1maWx0ZXI6IG5vbmU7XG4gIGZpbHRlcjogbm9uZTtcbiAgbGVmdDogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuLmJ1cmdlci1idXR0b24gc3BhbjpudGgtY2hpbGQoMSkge1xuICB0b3A6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuLmJ1cmdlci1idXR0b24gc3BhbjpudGgtY2hpbGQoMikge1xuICB0b3A6IDAuODEyNXJlbTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG4uYnVyZ2VyLWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gIHRvcDogMS42MjVyZW07XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuLmJ1cmdlci1idXR0b24ub3BlbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRvcDogMC4xODc1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xufVxuLmJ1cmdlci1idXR0b24ub3BlbiBzcGFuOm50aC1jaGlsZCgyKSB7XG4gIHdpZHRoOiAwO1xuICBvcGFjaXR5OiAwO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbn1cbi5idXJnZXItYnV0dG9uLm9wZW4gc3BhbjpudGgtY2hpbGQoMykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRvcDogMS40Mzc1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xufVxuLmluZm8tYmxvY2tfX3RpdGxlIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM3NTg3OTE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5pbmZvLWJsb2NrX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5pbmZvLWJsb2NrX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICB9XG59XG4uaW5mby1ibG9ja19fZ3JpZCB7XG4gIG1hcmdpbjogNXJlbSAtMC45Mzc1cmVtIDAgLTAuOTM3NXJlbTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5pbmZvLWJsb2NrX19ncmlkIHtcbiAgICBtYXJnaW46IDIuNXJlbSAwIDAgMDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLW8tYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcm93LWdhcDogMy43NXJlbTtcbiAgfVxufVxuLmluZm8tYmxvY2tfX2NvbHVtbiB7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuaW5mby1ibG9ja19fY29sdW1uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uaW5mby1ibG9ja19faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEuNzVyZW07XG4gIGhlaWdodDogMjIuNXJlbTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gIC1tb3otYm94LWFsaWduOiBlbmQ7XG4gIC1vLWJveC1hbGlnbjogZW5kO1xuICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuLmluZm8tYmxvY2tfX2ltYWdlIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbn1cbi5pbmZvLWJsb2NrX19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMy4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAuaW5mby1ibG9ja19fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuLmluZm8tYmxvY2tfX3N1YnRpdGxlIHNwYW4ge1xuICBjb2xvcjogI2U2NzkyZDtcbn1cbi5pbmZvLWJsb2NrX190ZXh0IHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmluZm8tYmxvY2tfX3RleHQge1xuICAgIG1hcmdpbi10b3A6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4uaW5mby1ibG9ja19fdGV4dCBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW46IDAgMCAyLjI1cmVtIDA7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5pbmZvLWJsb2NrX190ZXh0IHA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luOiAwIDAgMS43NXJlbSAwO1xuICB9XG59XG4uaW5mby1ibG9ja19fdGV4dCB1bCBsaSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xufVxuLmluZm8tYmxvY2tfX3RleHQgdWwgbGk6Om1hcmtlciB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzYnIGhlaWdodD0nMTAnIHZpZXdCb3g9JzAgMCA2IDEwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTAgMTBWMEw2IDQuOTk2MjRMMCAxMFonIGZpbGw9JyUyM0U2NzkyRCcvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5pbmZvLWJsb2NrX190ZXh0IHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xufVxuLmNvbnRhY3RzIHtcbiAgbWFyZ2luLXRvcDogMy43NXJlbTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1tb3otYm94LXBhY2s6IGp1c3RpZnk7XG4gIC1vLWJveC1wYWNrOiBqdXN0aWZ5O1xuICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IDcuODEyNXJlbTtcbiAgLW1vei1jb2x1bW4tZ2FwOiA3LjgxMjVyZW07XG4gIGNvbHVtbi1nYXA6IDcuODEyNXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmNvbnRhY3RzIHtcbiAgICBtYXJnaW4tdG9wOiAyLjYyNXJlbTtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDQuMzc1cmVtO1xuICAgIC1tb3otY29sdW1uLWdhcDogNC4zNzVyZW07XG4gICAgY29sdW1uLWdhcDogNC4zNzVyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmNvbnRhY3RzIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC1vLWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHJvdy1nYXA6IDEuNXJlbTtcbiAgfVxufVxuLmNvbnRhY3RzLWluZm8ge1xuICB3aWR0aDogY2FsYygyNjUgLyAxMTQwICogMTAwJSk7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmNvbnRhY3RzLWluZm8ge1xuICAgIHdpZHRoOiBjYWxjKDI3MCAvIDk1NyAqIDEwMCUpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuY29udGFjdHMtaW5mbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5jb250YWN0cy1pbmZvX19saW5lIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uY29udGFjdHMtaW5mb19fbGluZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmNvbnRhY3RzLWluZm9fX2xpbmU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgfVxufVxuLmNvbnRhY3RzLWluZm9fX2xpbmUub3JhbmdlIHtcbiAgY29sb3I6ICNlNjc5MmQ7XG59XG4uY29udGFjdHMtaW5mb19faWNvbiB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5jb250YWN0cy1pbmZvX19pY29uIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZpbGw6ICNmZmY7XG59XG4uY29udGFjdHMtbWFwIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLW1vei1ib3gtZmxleDogMTtcbiAgLW8tYm94LWZsZXg6IDE7XG4gIC1tcy1ib3gtZmxleDogMTtcbiAgYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleC1ncm93OiAxO1xuICBmbGV4LWdyb3c6IDE7XG4gIGhlaWdodDogMjUuNjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAuY29udGFjdHMtbWFwIHtcbiAgICBoZWlnaHQ6IDIxLjU2MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmNvbnRhY3RzLW1hcCB7XG4gICAgaGVpZ2h0OiAyNXJlbTtcbiAgfVxufVxuLmNvbnRhY3RzLW1hcCAjbWFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmFib3V0LXRvcCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtby1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLmFib3V0LXRvcF9faW1hZ2Uge1xuICBtYXJnaW46IDAgMCAyLjYyNXJlbSAyLjA2MjVyZW07XG4gIHdpZHRoOiAyMi41cmVtO1xuICBoZWlnaHQ6IDIyLjVyZW07XG4gIGZsb2F0OiByaWdodDtcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcbiAgLW1vei1ib3gtb3JkaW5hbC1ncm91cDogMjtcbiAgLW8tYm94LW9yZGluYWwtZ3JvdXA6IDI7XG4gIC1tcy1mbGV4LW9yZGVyOiAyO1xuICAtd2Via2l0LW9yZGVyOiAyO1xuICBvcmRlcjogMjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFib3V0LXRvcF9faW1hZ2Uge1xuICAgIG1hcmdpbjogMCAwIDEuMzEyNXJlbSAxLjMxMjVyZW07XG4gICAgd2lkdGg6IDE4LjkzNzVyZW07XG4gICAgaGVpZ2h0OiAxOC45Mzc1cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5hYm91dC10b3BfX2ltYWdlIHtcbiAgICBtYXJnaW46IDEuNzVyZW0gMCAwO1xuICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgyMS4zMTI1cmVtLCA3MHZ3LCAzMC42MjVyZW0pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmFib3V0LXRvcF9faW1hZ2UgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG4uYWJvdXQtdGl0bGUge1xuICBmb250LXNpemU6IDRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzc1ODc5MTtcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDtcbiAgLW1vei1ib3gtb3JkaW5hbC1ncm91cDogMDtcbiAgLW8tYm94LW9yZGluYWwtZ3JvdXA6IDA7XG4gIC1tcy1mbGV4LW9yZGVyOiAwO1xuICAtd2Via2l0LW9yZGVyOiAwO1xuICBvcmRlcjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFib3V0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmFib3V0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gIH1cbn1cbi5hYm91dC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDE7XG4gIC1tb3otYm94LW9yZGluYWwtZ3JvdXA6IDE7XG4gIC1vLWJveC1vcmRpbmFsLWdyb3VwOiAxO1xuICAtbXMtZmxleC1vcmRlcjogMTtcbiAgLXdlYmtpdC1vcmRlcjogMTtcbiAgb3JkZXI6IDE7XG59XG4uYWJvdXQtdGV4dCBwIHtcbiAgbWFyZ2luOiAwO1xufVxuLmFib3V0LXRleHQgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luOiAwIDAgMS43NXJlbTtcbn1cbi5hYm91dC10ZXh0X190b3Age1xuICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFib3V0LXRleHRfX3RvcCB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmFib3V0LXRleHRfX2JvdHRvbSB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XG4gIC1tb3otYm94LW9yZGluYWwtZ3JvdXA6IDM7XG4gIC1vLWJveC1vcmRpbmFsLWdyb3VwOiAzO1xuICAtbXMtZmxleC1vcmRlcjogMztcbiAgLXdlYmtpdC1vcmRlcjogMztcbiAgb3JkZXI6IDM7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5hYm91dC10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xuICB9XG59XG4uYWJvdXQtYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFib3V0LWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMi4yNXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuYWJvdXQtYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xuICB9XG59XG4uYWJvdXQtYm90dG9tX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgY29sb3I6ICM3NTg3OTE7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5hYm91dC1ib3R0b21fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5hYm91dC1ib3R0b21fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cbi5hYm91dC1mYWN0cyB7XG4gIG1hcmdpbjogLTAuOTM3NXJlbTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5hYm91dC1mYWN0cyB7XG4gICAgbWFyZ2luOiAtMC42MjVyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLmFib3V0LWZhY3RzIHtcbiAgICBtYXJnaW46IC0xLjI1cmVtO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtby1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLmFib3V0LWZhY3Qge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFib3V0LWZhY3Qge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5hYm91dC1mYWN0IHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4uYWJvdXQtZmFjdF9fc2xvZ2FuIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFib3V0LWZhY3RfX3Nsb2dhbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5hYm91dC1mYWN0X19zbG9nYW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG59XG4uYWJvdXQtZmFjdF9fc2xvZ2FuLWxlZnQge1xuICBjb2xvcjogIzc1ODc5MTtcbn1cbi5hYm91dC1mYWN0X19zbG9nYW4tcmlnaHQge1xuICBtYXJnaW4tdG9wOiAtMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDMwJTtcbn1cbi5hYm91dC1mYWN0X19zbG9nYW4tcmlnaHQgc3BhbiB7XG4gIGNvbG9yOiAjZTY3OTJkO1xufVxuLmFib3V0LWZhY3RfX3RleHQge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFib3V0LWZhY3RfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmFib3V0LWZhY3RfX3RleHQgcCB7XG4gIG1hcmdpbjogMDtcbn1cbi5hYm91dC1mYWN0X190ZXh0IHA6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbjogMCAwIDEuNzVyZW0gMDtcbn1cbi5hYm91dC1mYWN0X19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtby1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogMS4yNXJlbTtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW8tYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5hYm91dC1mYWN0X19idXR0b24gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjc1cmVtIDAuOTM3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGZpbHRlciAwLjNzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGZpbHRlciAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGZpbHRlciAwLjNzIGVhc2U7XG59XG4uYWJvdXQtZmFjdF9fYnV0dG9uIGE6aG92ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43NSk7XG59XG4uYWJvdXQtZmFjdF9fYnV0dG9uIGEub3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2NzkyZDtcbn1cbi5hYm91dC1mYWN0X19idXR0b24gYS5ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgyOGQ5Mztcbn1cbi5wb3J0Zm9saW8tdGl0bGUge1xuICBmb250LXNpemU6IDRyZW07XG4gIGNvbG9yOiAjNzU4NzkxO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAucG9ydGZvbGlvLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnBvcnRmb2xpby10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICB9XG59XG4ucG9ydGZvbGlvLXJvdyB7XG4gIG1hcmdpbi10b3A6IDMuNzVyZW07XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAucG9ydGZvbGlvLXJvdyB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLnBvcnRmb2xpby1yb3cge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgfVxufVxuLnBvcnRmb2xpby1yb3dfX3RpdGxlIHtcbiAgcGFkZGluZy1yaWdodDogMS42MjVyZW07XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuLnBvcnRmb2xpby1yb3dfX3RpdGxlOjpmaXJzdC1sZXR0ZXIge1xuICBjb2xvcjogI2U2NzkyZDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5wb3J0Zm9saW8tcm93X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgfVxufVxuLnBvcnRmb2xpby1kZWNvcmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tb3otYm94LWZsZXg6IDE7XG4gIC1vLWJveC1mbGV4OiAxO1xuICAtbXMtYm94LWZsZXg6IDE7XG4gIGJveC1mbGV4OiAxO1xuICAtd2Via2l0LWZsZXgtZ3JvdzogMTtcbiAgZmxleC1ncm93OiAxO1xufVxuLnBvcnRmb2xpby1kZWNvcmxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC41cmVtO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAwLjMxMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MGE0YWY7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wb3J0Zm9saW8tZGVjb3JsaW5lOjpiZWZvcmUge1xuICAgIGhlaWdodDogMC4xODc1cmVtO1xuICB9XG59XG4ucG9ydGZvbGlvLWJsb2NrcyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtby1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogMS44NzVyZW07XG4gIG1hcmdpbi10b3A6IDIuMjVyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5wb3J0Zm9saW8tYmxvY2tzIHtcbiAgICByb3ctZ2FwOiAxcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wb3J0Zm9saW8tYmxvY2tzIHtcbiAgICByb3ctZ2FwOiBpbml0aWFsO1xuICB9XG59XG4ucG9ydGZvbGlvLWJsb2Nrc19fcm93IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogLTAuOTM3NXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzIwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgLnBvcnRmb2xpby1ibG9ja3NfX3JvdyB7XG4gICAgbWFyZ2luOiAtMC41cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wb3J0Zm9saW8tYmxvY2tzX19yb3cge1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLW8tYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnBvcnRmb2xpby1ibG9ja3NfX3JvdzpmaXJzdC1jaGlsZCB7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC1tb3otYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAtby1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtby1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuLnBvcnRmb2xpby1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDMpKTtcbiAgaGVpZ2h0OiAyMi41cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAucG9ydGZvbGlvLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgaGVpZ2h0OiAxOC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucG9ydGZvbGlvLWJsb2NrIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4ucG9ydGZvbGlvLWJsb2NrLS1iaWcge1xuICB3aWR0aDogY2FsYygxMDAlIC8gMyAqIDIpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucG9ydGZvbGlvLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5wb3J0Zm9saW8tYmxvY2stLWJpZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnBvcnRmb2xpby1zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi5wb3J0Zm9saW8tcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wb3J0Zm9saW8tcGFnaW5hdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMi45Mzc1cmVtO1xuICB9XG59XG4ucG9ydGZvbGlvLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1ib3R0b206IDAuNzVyZW07XG59XG4ucG9ydGZvbGlvLXBhZ2luYXRpb24ucmlnaHRkIHtcbiAgcmlnaHQ6IDA7XG59XG4ucG9ydGZvbGlvLWlubmVyIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wb3J0Zm9saW8taW5uZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4ucG9ydGZvbGlvLWlubmVyX19sb2dvIHtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDAgMS44NzVyZW07XG4gIGhlaWdodDogNy44MTI1cmVtO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW8tYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtbW96LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1vLWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcyMHB4KSBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XG4gIC5wb3J0Zm9saW8taW5uZXJfX2xvZ28ge1xuICAgIGhlaWdodDogNi41NjI1cmVtO1xuICB9XG59XG4ucG9ydGZvbGlvLWlubmVyX19sb2dvIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHdpZHRoOiBpbml0aWFsO1xuICBoZWlnaHQ6IGluaXRpYWw7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cbi5wb3J0Zm9saW8taW5uZXJfX2Jhbm5lciB7XG4gIGhlaWdodDogMjIuMTI1cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MjBweCkge1xuICAucG9ydGZvbGlvLWlubmVyX19iYW5uZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5wb3J0Zm9saW8taW5uZXJfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMS4wNjI1cmVtO1xuICBjb2xvcjogIzc1ODc5MTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5wb3J0Zm9saW8taW5uZXJfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG59XG4ucG9ydGZvbGlvLWlubmVyX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDEuMTg3NXJlbTtcbiAgbWF4LXdpZHRoOiAxNy40Mzc1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucG9ydGZvbGlvLWlubmVyX19kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAucG9ydGZvbGlvLXNsaWRlcl9fYmFja2dyb3VuZCB7XG4gICAgbWFyZ2luOiAwIC0wLjkzNzVyZW07XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW0gMS44NzVyZW07XG4gIH1cbiAgLnBvcnRmb2xpby1zbGlkZXJfX2JhY2tncm91bmQ6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTI4MmU7XG4gIH1cbn1cbi5ub3QtZm91bmQge1xuICBtYXgtd2lkdGg6IDM4LjEyNXJlbTtcbn1cbi5ub3QtZm91bmRfX3dyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gIC1vLWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAtby1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5ub3QtZm91bmRfX3dyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIH1cbn1cbi5ub3QtZm91bmRfX251bWJlcnMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZm9udC1zaXplOiAxOC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZTY3OTJkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLm5vdC1mb3VuZF9fbnVtYmVycyB7XG4gICAgZm9udC1zaXplOiAxMi41cmVtO1xuICB9XG59XG4ubm90LWZvdW5kX19sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNiU7XG4gIGxlZnQ6IC0yNCU7XG4gIGJhY2tncm91bmQ6ICMyNTMyMzg7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgLm5vdC1mb3VuZF9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxufVxuLm5vdC1mb3VuZF9fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgY29sb3I6ICM3NTg3OTE7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gIC5ub3QtZm91bmRfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxufVxuLm5vdC1mb3VuZF9fZGVzY3JpcHRpb24gc3BhbiB7XG4gIGNvbG9yOiAjZTY3OTJkO1xufVxuLm5vdC1mb3VuZF9fYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogNS4zNzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MjBweCkge1xuICAubm90LWZvdW5kX19ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLm5vdC1mb3VuZF9fYm90dG9tIGEge1xuICBjb2xvcjogI2U2NzkyZDtcbn1cbiIsIi8qXG4gKiBPdmVyZmxvdyB1dGlsaXR5LiBNYXBzIHRvIHJlZ3VsYXIgb3ZlcmZsb3csIGFuZCBhZGRzIGFuIGVsbGlwc2lzIHZhbHVlLlxuICpcbiAqIFN5bm9wc2lzOlxuICpcbiAqICAgb3ZlcmZsb3c6IDx0eXBlPlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgICBvdmVyZmxvdzogYXV0b1xuICogICAgIG92ZXJmbG93OiBoaWRkZW5cbiAqICAgICBvdmVyZmxvdzogZWxsaXBzaXNcbiAqXG4gKi9cblxub3ZlcmZsb3coKVxuICBpZiBhcmd1bWVudHNbMF0gPT0gZWxsaXBzaXNcbiAgICBlbGxpcHNpcygpXG4gIGVsc2VcbiAgICBvdmVyZmxvdzogYXJndW1lbnRzXG4iLCIvKlxuICogVmVuZG9yIFwiZGlzcGxheTogZmxleFwiIHN1cHBvcnQgd2l0aCBmYWxsYmFjayB0byBvYnNvbGV0ZSB2ZXJzaW9ucy5cbiAqL1xuXG5mbGV4LXZlcnNpb24gPz0gYm94IGZsZXhcblxuLy9cbi8vIDEuIERpc3BsYXkgdmFsdWVzXG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleC1jb250YWluZXJzXG4vL1xuZGlzcGxheSh0eXBlLCBhcmdzLi4uKVxuICBpZiBmbGV4ID09IHR5cGUgfHwgaW5saW5lLWZsZXggPT0gdHlwZVxuICAgIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICAgIGlmIGZsZXggPT0gdHlwZVxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCBhcmdzXG4gICAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShib3ggYXJncywgb25seTogbW96IHdlYmtpdClcbiAgICAgIGVsc2VcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94IGFyZ3NcbiAgICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGlubGluZS1ib3ggYXJncywgb25seTogbW96IHdlYmtpdClcbiAgICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKSAvLyBvdmVyd3JpdGVzIG9sZCB3ZWJraXRcbiAgZWxzZVxuICAgIGRpc3BsYXk6IGFyZ3VtZW50c1xuXG4vKlxuICogTmV3IHN5bnRheCBmb3IgYnJvd3NlcnMgbGlrZSBHb29nbGUgQ2hyb21lLlxuICogUGx1cyBhIHRyYW5zbGF0aW9uIHRvIHRoZSBvbGQgc3ludGF4LCBpZiBwb3NzaWJsZS5cbiAqL1xuXG5cbi8vXG4vLyA1LiBPcmRlcmluZyBhbmQgT3JpZW50YXRpb25cbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNvcmRlcmluZy1hbmQtb3JpZW50YXRpb25cbi8vXG4tZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oZGlyZWN0aW9uKVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgaWYgcm93LXJldmVyc2UgPT0gZGlyZWN0aW9uIHx8IGNvbHVtbi1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtZGlyZWN0aW9uJywgcmV2ZXJzZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAgIGlmIHJvdyA9PSBkaXJlY3Rpb24gfHwgcm93LXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1vcmllbnQnLCBob3Jpem9udGFsLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuICAgIGVsc2UgaWYgY29sdW1uID09IGRpcmVjdGlvbiB8fCBjb2x1bW4tcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LW9yaWVudCcsIHZlcnRpY2FsLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4tZmxleC1vYnNvbGV0ZS13cmFwKHZhbHVlKVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgLy8gV0FSTjogd3JhcC1yZXZlcnNlIGRvZXMgbm90IGhhdmUgYSBib3ggZXF1aXZhbGVudC4gVGhpcyB3aWxsIHJlbmRlciBpbiBkaWZmZXJlbnQgbWFubmVyc1xuICAgIC8vICAgIG9uIGJveCB2cy4gZmxleCB2YWx1ZXMuXG4gICAgaWYgJ3dyYXAnID09IHZhbHVlIHx8IHdyYXAtcmV2ZXJzZSA9PSB2YWx1ZVxuICAgICAgdmVuZG9yKCdib3gtbGluZXMnLCBtdWx0aXBsZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcbiAgICBlbHNlIGlmIG5vd3JhcCA9PSB2YWx1ZVxuICAgICAgdmVuZG9yKCdib3gtbGluZXMnLCBzaW5nbGUsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbmZsZXgtZGlyZWN0aW9uKGRpcmVjdGlvbilcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGRpcmVjdGlvbilcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cbmZsZXgtd3JhcCh2YWx1ZSlcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcCh2YWx1ZSlcblxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC13cmFwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cbmZsZXgtZmxvdygpXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihhcmd1bWVudHNbMF0pXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihhcmd1bWVudHNbMV0pXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAoYXJndW1lbnRzWzBdKVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKGFyZ3VtZW50c1sxXSlcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZmxvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5cbm9yZGVyKClcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LW9yZGluYWwtZ3JvdXAnLCBhcmd1bWVudHMsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LW9yZGVyJywgYXJndW1lbnRzLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ29yZGVyJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cblxuLy9cbi8vIDcuIEZsZXhpYmlsaXR5XG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleGliaWxpdHlcbi8vXG5mbGV4LWdyb3coZ3Jvd3RoKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtZmxleCcsIGdyb3d0aClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZ3JvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5mbGV4LWJhc2lzKClcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtYmFzaXMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleC1zaHJpbmsoKVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1zaHJpbmsnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleChncm93dGgpXG5cbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHNocmluayA9IDFcblxuICAgIGlmIG5vbmUgPT0gZ3Jvd3RoIHx8IGluaXRpYWwgPT0gZ3Jvd3RoXG4gICAgICAvLyBXZWxsIGtub3duIHZhbHVlc1xuICAgICAgc2hyaW5rID0gMCBpZiBub25lID09IGdyb3d0aFxuICAgICAgZ3Jvd3RoID0gMFxuICAgIGVsc2UgaWYgaXMtd2lkdGgoZ3Jvd3RoKSA9PSB0cnVlXG4gICAgICAvLyBCYXNpcyBpcyBkZWZpbmVkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXJcbiAgICAgIGdyb3d0aCA9IGFyZ3VtZW50c1sxXSB8fCAwXG4gICAgICBzaHJpbmsgPSBhcmd1bWVudHNbMl0gaWYgMyA8PSBsZW5ndGgoYXJndW1lbnRzKVxuICAgIGVsc2UgaWYgYXJndW1lbnRzWzFdICYmIGlzLXdpZHRoKGFyZ3VtZW50c1sxXSkgPT0gZmFsc2VcbiAgICAgIC8vIEdyb3d0aCBpcyBmaXJzdCBhbmQgc2hyaW5rIGlzIHNlY29uZFxuICAgICAgc2hyaW5rID0gYXJndW1lbnRzWzFdXG5cbiAgICAvLyBTaW5jZSB3ZSBjYW4ndCBtYWtlIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGdyb3dpbmcgYW5kIHNocmlua2luZyBpbiB0aGUgYm94IG1vZGVsLCB0YWtlXG4gICAgLy8gdGhlIG9uZSB0aGF0IHByb3ZpZGVzIHRoZSBtb3N0IGZsZXhpYmlsaXR5LlxuICAgIHZlbmRvcignYm94LWZsZXgnLCBtYXgoZ3Jvd3RoLCBzaHJpbmspLCBpZ25vcmU6IG1zKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5cbi8vIGNvbnZlcnRzIHRoZSBqdXN0aWZpY2F0aW9uIGFsaWdubWVudFxuLWNvbnZlcnQtanVzdGlmeShhbGlnbilcbiAgaWYgZmxleC1zdGFydCA9PSBhbGlnblxuICAgIHJldHVybiBzdGFydFxuICBlbHNlIGlmIGZsZXgtZW5kID09IGFsaWduXG4gICAgcmV0dXJuIGVuZFxuICBlbHNlIGlmIHNwYWNlLWFyb3VuZCA9PSBhbGlnblxuICAgIHJldHVybiBkaXN0cmlidXRlXG4gIGVsc2UgaWYgc3BhY2UtYmV0d2VlbiA9PSBhbGlnblxuICAgIHJldHVybiBqdXN0aWZ5XG4gIGVsc2VcbiAgICByZXR1cm4gYWxpZ25cblxuLy9cbi8vIDguIEFsaWdubWVudFxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2FsaWdubWVudFxuLy9cbmp1c3RpZnktY29udGVudChhbGlnbilcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtcGFjaycsIC1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ2p1c3RpZnktY29udGVudCcsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmFsaWduLWNvbnRlbnQoYWxpZ24pXG4gIC8vIFdBUk46IE9ic29sZXRlIHNwZWMgZG9lcyBub3QgYWxsb3cgZm9yIGFkanVzdG1lbnQgaGVyZVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1saW5lLXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdhbGlnbi1jb250ZW50JywgYWxpZ24sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLy8gY29udmVydHMgYWxpZ25tZW50IGZyb20gJ2ZsZXgnIHRvIG5vcm1hbCB2YWx1ZVxuLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKVxuICBpZiBmbGV4LXN0YXJ0ID09IGFsaWduXG4gICAgcmV0dXJuIHN0YXJ0XG4gIGVsc2UgaWYgZmxleC1lbmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZW5kXG4gIGVsc2VcbiAgICByZXR1cm4gYWxpZ25cblxuYWxpZ24taXRlbXMoYWxpZ24pXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdhbGlnbi1pdGVtcycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5hbGlnbi1zZWxmKGFsaWduKVxuICAvLyBXQVJOOiBPYnNvbGV0ZSBzcGVjIGRvZXMgbm90IGFsbG93IGZvciBvdmVycmlkaW5nIGFsaWdubWVudCBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYWxpZ24tc2VsZicsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gICAgdmVuZG9yKCdmbGV4LWl0ZW0tYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBvbmx5OiBtcylcbiIsIi5oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG5cdFxyXG5cdC5oZWFkZXItdG9wIHtcclxuXHRcdHBhZGRpbmc6IHJlbSgxMykgMDtcclxuXHRcdFxyXG5cdFx0Jl9fbGlzdCB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Jl9faXRlbSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0LmhlYWRlci1ib3R0b20ge1xyXG5cdFx0cGFkZGluZzogcmVtKDEwKSAwO1xyXG5cdFx0YmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuXHRcdHRyYW5zaXRpb24gaGVpZ2h0IDAuM3MgZWFzZVxyXG5cdFx0XHJcblx0XHQmX19yb3cge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQmX19ibG9jay5jZW50ZXIge1xyXG5cdFx0XHQrYmVsb3coJHRhYmxldCkge1xyXG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0I2hlYWRlci1vcmdhbml6ZXJzIHtcclxuXHRcdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRcdGNvbG9yICRvcmFuZ2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdC5oZWFkZXItbmF2X19zdWJtZW51IHtcclxuXHRcdFx0XHRwb2ludGVyLWV2ZW50cyBpbml0aWFsXHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXHJcblx0XHRcdFx0b3BhY2l0eSAxXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Ji1sb2dvIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IHJlbSgxNzUpO1xyXG5cdFx0aGVpZ2h0OiByZW0oNDUpO1xyXG5cdH1cclxuXHRcclxuXHQmLW5hdiB7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdHBhZGRpbmc6IDAgcmVtKDQwKTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Y29sdW1uLWdhcDogcmVtKDcwKTtcclxuXHRcdFxyXG5cdFx0K2JlbG93KCR0YWJsZXQpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Jl9faXRlbSB7XHJcblx0XHRcdHBvc2l0aW9uIHJlbGF0aXZlXHJcblx0XHRcdGN1cnNvciBwb2ludGVyXHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDMwKTtcclxuXHRcdFx0XHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IDAuM3MgY29sb3IgZWFzZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRcclxuXHRcdFx0K2Fib3ZlKCR0YWJsZXQpIHtcclxuXHRcdFx0XHQmOmhvdmVyIHNwYW4ge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRvcmFuZ2U7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0Y29sb3I6ICRvcmFuZ2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Jl9fc3VibWVudSB7XHJcblx0XHRcdHBhZGRpbmctdG9wIHJlbSgyOClcclxuXHRcdFx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRcdFx0b3BhY2l0eSAwXHJcblx0XHRcdHBvaW50ZXItZXZlbnRzIG5vbmVcclxuXHRcdFx0dHJhbnNpdGlvbiBvcGFjaXR5IDAuMnMgZWFzZVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQmX19zdWJpdGVtIHtcclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcFxyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodCByZW0oMTApXHJcblx0XHRcdFx0d2lkdGggcmVtKDEzKVxyXG5cdFx0XHRcdGhlaWdodCByZW0oMTMpXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Ji1jb250YWN0cyB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbSg1MCk7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFxyXG5cdFx0K2JlbG93KCR0YWJsZXQpIHtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQmX19waG9uZSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg0KTtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xyXG5cdFx0XHRcclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0Y29sb3I6ICRncmV5O1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQrYmVsb3coJG1vYmlsZSkge1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQmX19tYWlsIHtcclxuXHRcdFx0Y29sb3I6ICRvcmFuZ2U7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuXHRcdFx0XHJcblx0XHRcdCtiZWxvdygkbW9iaWxlKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQmLWxhbmdwaWNrZXIge1xyXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcclxuXHRcdGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcblx0XHRmb250LXNpemU6IHJlbSgyMCk7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiByZW0oMjUpO1xyXG5cdFx0d2lkdGg6IHJlbSgyNSk7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcclxuXHRcdFxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdC5oZWFkZXItbGFuZ3BpY2tlcl9fdmFsdWVzIHtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0IHJlbSgxMjUpXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0K2JlbG93KCR0YWJsZXQpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0PiBzcGFuIHtcclxuXHRcdFx0cGFkZGluZyByZW0oMilcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGNvbG9yOiBibGFjaztcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0Jl9fdmFsdWVzIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3AgcmVtKDI2KVxyXG5cdFx0XHRsZWZ0IDBcclxuXHRcdFx0cmlnaHQgMFxyXG5cdFx0XHRkaXNwbGF5IGZsZXhcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb24gY29sdW1uXHJcblx0XHRcdHJvdy1nYXAgcmVtKDEpXHJcblx0XHRcdG92ZXJmbG93IGhpZGRlblxyXG5cdFx0XHR0cmFuc2l0aW9uIG1heC1oZWlnaHQgMC4zcyBlYXNlXHJcblx0XHRcdG1heC1oZWlnaHQgMFxyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdFxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0cGFkZGluZyByZW0oMilcclxuXHRcdFx0XHR0ZXh0LWFsaWduIGNlbnRlclxyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3IgJGdyZXlcclxuXHRcdFx0XHR3aWR0aCAxMDAlXHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5IGJsb2NrXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubW9iaWxlIHtcclxuXHRwYWRkaW5nOiByZW0oODApIHJlbSgzNSk7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG5cdHdpZHRoOiA1MCU7XHJcblx0cmlnaHQ6IDA7XHJcblx0ei1pbmRleDogMTA7XHJcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdFxyXG5cdCY6bm90KC5vcGVuKSB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcblx0fVxyXG5cdFxyXG5cdCthYm92ZSgkdGFibGV0KSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHRcclxuXHQmLW1lbnUge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRyb3ctZ2FwOiByZW0oNzApO1xyXG5cdFx0XHJcblx0XHQmX19zdWJtZW51IHtcclxuXHRcdFx0cGFkZGluZy10b3AgcmVtKDE2KVxyXG5cdFx0XHRwYWRkaW5nLWxlZnQgcmVtKDEwKVxyXG5cdFx0XHRkaXNwbGF5IGZsZXhcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb24gY29sdW1uXHJcblx0XHRcdHJvdy1nYXAgcmVtKDIwKVxyXG5cdFx0XHRmb250LXNpemUgcmVtKDIwKVxyXG5cdFx0fVxyXG5cdFx0Jl9fc3ViaXRlbSB7XHJcblx0XHRcdC8vZGlzcGxheSBmbGV4XHJcblx0XHRcdHdoaXRlLXNwYWNlIG5vd3JhcFxyXG5cdFx0XHRcclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQgcmVtKDEwKVxyXG5cdFx0XHRcdHdpZHRoIHJlbSgxMylcclxuXHRcdFx0XHRoZWlnaHQgcmVtKDEzKVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdCYtaXRlbSB7XHJcblx0XHRmb250LXNpemU6IHJlbSgzNik7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFxyXG5cdFx0JjpmaXJzdC1sZXR0ZXIge1xyXG5cdFx0XHRjb2xvcjogJG9yYW5nZTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Ji1iYWNrZ3JvdW5kIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGhlaWdodDogcmVtKDM1MCk7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdH1cclxufVxyXG4iLCIuZm9vdGVyXHJcblx0cGFkZGluZyByZW0oMzIpIDAgcmVtKDIwKVxyXG5cdHBvc2l0aW9uIHJlbGF0aXZlXHJcblx0YmFja2dyb3VuZCAkc2Vjb25kYXJ5XHJcblx0K2JlbG93KDcyMHB4KVxyXG5cdFx0cGFkZGluZyByZW0oMzQpIDAgcmVtKDE1KVxyXG5cdFx0dGV4dC1hbGlnbiBjZW50ZXJcclxuXHQmLWJhY2tncm91bmRcclxuXHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHR0b3AgMFxyXG5cdFx0cmlnaHQgMFxyXG5cdFx0Ym90dG9tIDBcclxuXHRcdGxlZnQgMFxyXG5cdFx0cG9pbnRlci1ldmVudHMgbm9uZVxyXG5cdFx0ZGlzcGxheSBmbGV4XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQgc3BhY2UtYmV0d2VlblxyXG5cdFx0c3ZnXHJcblx0XHRcdGhlaWdodCAxMDAlXHJcblx0XHRcdHdpZHRoIHJlbSg0OTIpXHJcblx0XHQrYmVsb3coJHRhYmxldClcclxuXHRcdFx0ZGlzcGxheSBub25lXHJcblx0Ji1sb2dvXHJcblx0XHRtYXJnaW4tYm90dG9tIHJlbSgxOClcclxuXHRcdHdpZHRoIHJlbSgxNzUpXHJcblx0XHRoZWlnaHQgcmVtKDQ1KVxyXG5cdCYtcm93XHJcblx0XHRtYXJnaW4tYm90dG9tIHJlbSg4OClcclxuXHRcdGRpc3BsYXkgZmxleFxyXG5cdFx0anVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cclxuXHRcdCtiZWxvdyg3MjBweClcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb24gY29sdW1uXHJcblx0XHRcdGFsaWduLWl0ZW1zIGNlbnRlclxyXG5cdFx0XHRnYXAgcmVtKDUwKVxyXG5cdCYtbGVmdFxyXG5cdFx0Zm9udC1mYW1pbHkgJ1JvYm90byBDb25kZW5zZWQnLCBzYW5zLXNlcmlmXHJcblx0XHRmb250LXNpemUgcmVtKDIwKVxyXG5cdFx0Zm9udC13ZWlnaHQgMzAwXHJcblx0XHQrdGFibGV0KClcclxuXHRcdFx0Zm9udC1zaXplIHJlbSgxNilcclxuXHQmLWFkZHJlc3NcclxuXHRcdG1hcmdpbi1ib3R0b20gcmVtKDI0KVxyXG5cdCYtcGhvbmVcclxuXHRcdG1hcmdpbi1ib3R0b20gcmVtKDkpXHJcblx0Ji1tYWlsXHJcblx0XHRjb2xvciAkb3JhbmdlXHJcblx0Ji1uYXZcclxuXHRcdGRpc3BsYXkgZmxleFxyXG5cdFx0Z2FwIHJlbSg3MClcclxuXHRcdCtiZWxvdyg3MjBweClcclxuXHRcdFx0Z2FwIHJlbSg0MClcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb24gY29sdW1uXHJcblx0XHQmX19pdGVtXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMzApXHJcblx0XHRcdHRyYW5zaXRpb24gY29sb3IgMC4zcyBlYXNlXHJcblx0XHRcdGNvbG9yICRncmV5VGV4dFxyXG5cdFx0XHQrYWJvdmUoJHRhYmxldClcclxuXHRcdFx0XHQmOmhvdmVyXHJcblx0XHRcdFx0XHRjb2xvciAkb3JhbmdlXHJcblx0XHRcdCt0YWJsZXQoKVxyXG5cdFx0XHRcdGZvbnQtc2l6ZSByZW0oMjQpXHJcblx0Ji1jb3B5cmlnaHRcclxuXHRcdGNvbG9yICRncmV5VGV4dFxyXG5cdFx0dGV4dC1hbGlnbiBjZW50ZXJcclxuIiwiLnByb21vdGlvblxyXG5cdCYtYmxvY2tzXHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdHJvdy1nYXA6IHJlbSgzMCk7XHJcblx0XHQrdGFibGV0KClcclxuXHRcdFx0cm93LWdhcDogcmVtKDE2KTtcclxuXHRcdCttb2JpbGUoKVxyXG5cdFx0XHRyb3ctZ2FwOiByZW0oMTApXHJcblx0XHJcblx0Ji1yb3dcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRtYXJnaW46IHJlbSgtMTUpO1xyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdG1hcmdpbjogcmVtKC04KTtcclxuXHRcdCttb2JpbGUoKVxyXG5cdFx0XHRtYXJnaW46IHJlbSgtNSlcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0JjpmaXJzdC1jaGlsZFxyXG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuXHRcclxuXHQmLWJsb2NrXHJcblx0XHRwYWRkaW5nOiByZW0oMTUpO1xyXG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAzKSk7XHJcblx0XHQrdGFibGV0KClcclxuXHRcdFx0cGFkZGluZzogcmVtKDgpO1xyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdHBhZGRpbmc6IHJlbSg1KTtcclxuXHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdFxyXG5cdFx0Ji0tYmlnXHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyAzICogMik7XHJcblx0XHJcblx0Ji1hZGRpdGlvbmFsXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiByZW0oMzkpO1xyXG5cdFx0Ym90dG9tIHJlbSgtNDYpXHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0dHJhbnNpdGlvbiBib3R0b20gMC42cyBlYXNlXHJcblx0XHQrdGFibGV0KClcclxuXHRcdFx0Ym90dG9tOiByZW0oNDgpO1xyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdGxlZnQ6IHJlbSgyNCk7XHJcblx0XHRcdGJvdHRvbTogcmVtKDUwKTtcclxuXHRcdFxyXG5cdFx0Ji5yb3RhdGVkXHJcblx0XHRcdGxlZnQ6IGluaXRpYWw7XHJcblx0XHRcdHdpZHRoIGZpdC1jb250ZW50XHJcblx0XHRcdHRyYW5zZm9ybSB0cmFuc2xhdGUoMTAwJSwgMCkgcm90YXRlKDBkZWcpXHJcblx0XHRcdHRyYW5zaXRpb24gdHJhbnNmb3JtIDAuNnMgZWFzZVxyXG5cdFx0XHQrYmVsb3coJHRhYmxldClcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZShyZW0oOTApLCByZW0oLTIwKSkgcm90YXRlKC00NWRlZyk7XHJcblx0XHRcdCtiZWxvdygkbW9iaWxlKVxyXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKHJlbSgyMDAlKSwgcmVtKC0zMCUpKSByb3RhdGUoLTQ1ZGVnKTtcclxuXHRcclxuXHQmLXRpdGxlXHJcblx0XHRmb250LXNpemU6IHJlbSg0Mik7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XHJcblx0XHJcblx0Ji1idXR0b25cclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0cGFkZGluZzogcmVtKDEyKSByZW0oMTUpO1xyXG5cdFx0YmFja2dyb3VuZDogJG9yYW5nZTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtKDIyKTtcclxuXHRcdHdpZHRoOiBmaXQtY29udGVudDtcclxuXHRcdGNvbG9yOiBibGFjaztcclxuXHRcdHRyYW5zaXRpb24gMC4zcyBlYXNlIGJhY2tncm91bmQtY29sb3JcclxuXHRcdFxyXG5cdFx0Jjpob3ZlclxyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yICR5ZWxsb3dcclxuLnByb21vdGlvbi1ibG9ja19faW5uZXJcclxuXHRkaXNwbGF5IGJsb2NrXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93IGhpZGRlblxyXG5cdHdpZHRoIDEwMCVcclxuXHRoZWlnaHQ6IHJlbSgzNjApO1xyXG5cdCt0YWJsZXQoKVxyXG5cdFx0aGVpZ2h0OiByZW0oMzAwKTtcclxuXHQrbW9iaWxlKClcclxuXHRcdGhlaWdodDogY2FsYygzNDQgLyAzNzYgKiAxMDAlKTtcclxuXHQrZGVza3RvcCgpXHJcblx0XHQmOmhvdmVyXHJcblx0XHRcdC5wcm9tb3Rpb24tYWRkaXRpb25hbDpub3QoLnJvdGF0ZWQpXHJcblx0XHRcdFx0Ym90dG9tOiByZW0oNDgpO1xyXG5cdFx0XHRcclxuXHRcdFx0LnByb21vdGlvbi1hZGRpdGlvbmFsLnJvdGF0ZWRcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZShyZW0oMTUwKSwgcmVtKC0xNTApKSByb3RhdGUoLTQ1ZGVnKTtcclxuXHRcdFx0XHJcblx0XHRcdGltZy5lbGVtZW50c1xyXG5cdFx0XHRcdHRyYW5zZm9ybSB0cmFuc2xhdGUocmVtKDIwKSwgcmVtKDIwKSkgcm90YXRlKDIwZGVnKVxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdCYubGVmdFxyXG5cdFx0XHRcdFx0dHJhbnNmb3JtIHRyYW5zbGF0ZSgtMTAlLCAtMTAlKSByb3RhdGUoMTYwZGVnKVxyXG5cdFx0XHRcclxuXHRcdFx0aW1nLmJnXHJcblx0XHRcdFx0b3BhY2l0eSAwLjVcclxuXHRcdFx0XHJcblx0XHRcdC50cmlhbmdsZSBpbWdcclxuXHRcdFx0XHR0cmFuc2Zvcm0gcm90YXRlKDE4MGRlZylcclxuXHRcdFx0XHJcblx0XHRcdC50cmlhbmdsZS1sYWJlbFxyXG5cdFx0XHRcdHRyYW5zZm9ybSB0cmFuc2xhdGUocmVtKC0yMCksIDUwJSlcclxuXHRcclxuXHRpbWcuYmdcclxuXHRcdHRyYW5zaXRpb24gb3BhY2l0eSAwLjZzIGVhc2VcclxuXHRcclxuXHRpbWcuZWxlbWVudHNcclxuXHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHRvYmplY3QtZml0IGNvbnRhaW5cclxuXHRcdHdpZHRoIGF1dG9cclxuXHRcdGhlaWdodCBhdXRvXHJcblx0XHR0cmFuc2l0aW9uIHRyYW5zZm9ybSAwLjZzIGVhc2VcclxuXHRcdFxyXG5cdFx0Ji5sZWZ0XHJcblx0XHRcdHRyYW5zZm9ybSByb3RhdGUoMTgwZGVnKVxyXG5cdFx0XHRsZWZ0IHJlbSgtNjApXHJcblx0XHRcdHRvcCByZW0oLTE1KVxyXG5cdFx0XHJcblx0XHQmLnJpZ2h0XHJcblx0XHRcdHJpZ2h0IHJlbSgtNjApXHJcblx0XHRcdGJvdHRvbSByZW0oLTE1KVxyXG5cdFxyXG5cdC50cmlhbmdsZVxyXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRcdHJpZ2h0IDBcclxuXHRcdGJvdHRvbSByZW0oMzApXHJcblx0XHR3aWR0aCByZW0oODcpXHJcblx0XHRoZWlnaHQgcmVtKDE3MClcclxuXHRcdG92ZXJmbG93IGhpZGRlblxyXG5cdFx0K2JlbG93KCR0YWJsZXQpXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMTgpXHJcblx0XHRcdGJvdHRvbSA1MCVcclxuXHRcdFx0dHJhbnNmb3JtIHRyYW5zbGF0ZVkoNzAlKVxyXG5cdFx0XHJcblx0XHRpbWdcclxuXHRcdFx0dHJhbnNpdGlvbiB0cmFuc2Zvcm0gMC42cyBlYXNlXHJcblx0XHRcdCtiZWxvdygkdGFibGV0KVxyXG5cdFx0XHRcdHRyYW5zZm9ybSByb3RhdGUoMTgwZGVnKVxyXG5cdFxyXG5cdC50cmlhbmdsZS1sYWJlbFxyXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRcdHJpZ2h0IDBcclxuXHRcdGJvdHRvbSA1MCVcclxuXHRcdHRyYW5zZm9ybSB0cmFuc2xhdGUoMTEwJSwgNTAlKVxyXG5cdFx0dHJhbnNpdGlvbiB0cmFuc2Zvcm0gMC42cyBlYXNlXHJcblx0XHQrYmVsb3coJHRhYmxldClcclxuXHRcdFx0dHJhbnNmb3JtIHRyYW5zbGF0ZShyZW0oLTIwKSwgNTAlKVxyXG4iLCIuY2xpZW50c1xyXG5cdCYtY29udGFpbmVyXHJcblx0XHRwYWRkaW5nOiByZW0oODApIDAgcmVtKDc0KTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdCt0YWJsZXQoKVxyXG5cdFx0XHRwYWRkaW5nOiByZW0oNjApIDAgcmVtKDUyKTtcclxuXHRcdCttb2JpbGUoKVxyXG5cdFx0XHRwYWRkaW5nOiByZW0oNDApIDAgcmVtKDUyKTtcclxuXHRcdCY6OmJlZm9yZVxyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRoZWlnaHQ6IHJlbSg1KTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzkwQTRBRjtcclxuXHRcdFx0K21vYmlsZSgpXHJcblx0XHRcdFx0aGVpZ2h0OiByZW0oMyk7XHJcblx0Ji1yb3dcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0Ji10aXRsZVxyXG5cdFx0cGFkZGluZy1yaWdodDogcmVtKDI2KTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtKDY0KTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0XHQrdGFibGV0KClcclxuXHRcdFx0Zm9udC1zaXplOiByZW0oNDgpO1xyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDM2KTtcclxuXHQmLWRlY29ybGluZVxyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0Jjo6YmVmb3JlXHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogcmVtKDgpO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0aGVpZ2h0OiByZW0oNSk7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5MEE0QUY7XHJcblx0XHRcdCttb2JpbGUoKVxyXG5cdFx0XHRcdGhlaWdodDogcmVtKDMpO1xyXG5cdCYtc2xpZGVyIC5zd2lwZXItc2xpZGVcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0aGVpZ2h0OiByZW0oMjAwKTtcclxuXHRcdCt0YWJsZXQoKVxyXG5cdFx0XHRoZWlnaHQ6IHJlbSgxNjgpO1xyXG5cdCYtc2xpZGVyXHJcblx0XHRwYWRkaW5nOiByZW0oODApIDAgcmVtKDEwNSk7XHJcblx0XHRhXHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0LnN3aXBlci1wYWdpbmF0aW9uXHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuIiwiLmJ1cmdlci1idXR0b25cclxuXHQrYWJvdmUoJHRhYmxldClcclxuXHRcdGRpc3BsYXkgbm9uZVxyXG5cdHdpZHRoOiByZW0oMjgpO1xyXG5cdGhlaWdodDogcmVtKDI4KTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcblx0dHJhbnNpdGlvbjogLjVzIGVhc2UtaW4tb3V0O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRzcGFuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGhlaWdodDogcmVtKDIpXHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG5cdFx0dHJhbnNpdGlvbjogLjI1cyBlYXNlLWluLW91dDtcclxuXHJcbi5idXJnZXItYnV0dG9uIHNwYW46bnRoLWNoaWxkKDEpIHtcclxuXHR0b3A6IDA7XHJcblx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcbn1cclxuXHJcbi5idXJnZXItYnV0dG9uIHNwYW46bnRoLWNoaWxkKDIpIHtcclxuXHR0b3A6IHJlbSgxMyk7XHJcblx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XHJcbn1cclxuXHJcbi5idXJnZXItYnV0dG9uIHNwYW46bnRoLWNoaWxkKDMpIHtcclxuXHR0b3A6IHJlbSgyNilcclxuXHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcclxufVxyXG5cclxuLmJ1cmdlci1idXR0b24ub3BlbiBzcGFuOm50aC1jaGlsZCgxKSB7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG5cdHRvcDogcmVtKDMpO1xyXG5cdGxlZnQ6IHJlbSg0KTtcclxufVxyXG5cclxuLmJ1cmdlci1idXR0b24ub3BlbiBzcGFuOm50aC1jaGlsZCgyKSB7XHJcblx0d2lkdGg6IDA7XHJcblx0b3BhY2l0eTogMDtcclxufVxyXG5cclxuLmJ1cmdlci1idXR0b24ub3BlbiBzcGFuOm50aC1jaGlsZCgzKSB7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHR0b3A6IHJlbSgyMylcclxuXHRsZWZ0OiByZW0oNClcclxufVxyXG4iLCIuaW5mby1ibG9ja1xyXG5cdCZfX3RpdGxlXHJcblx0XHRmb250LXNpemUgcmVtKDY0KVxyXG5cdFx0Zm9udC13ZWlnaHQgYm9sZFxyXG5cdFx0Y29sb3IgJGdyZXlUZXh0XHJcblx0XHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcclxuXHRcdCt0YWJsZXQoKVxyXG5cdFx0XHRmb250LXNpemUgcmVtKDQ4KVxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMzYpXHJcblx0Jl9fZ3JpZFxyXG5cdFx0bWFyZ2luIHJlbSg4MCkgcmVtKC0xNSkgMCByZW0oLTE1KVxyXG5cdFx0ZGlzcGxheSBmbGV4XHJcblx0XHQrbW9iaWxlKClcclxuXHRcdFx0bWFyZ2luIHJlbSg0MCkgMCAwIDBcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb24gY29sdW1uXHJcblx0XHRcdHJvdy1nYXAgcmVtKDYwKVxyXG5cdCZfX2NvbHVtblxyXG5cdFx0cGFkZGluZyByZW0oMTUpXHJcblx0XHR3aWR0aCBjYWxjKDEwMCUgLyAzKVxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdHBhZGRpbmcgMFxyXG5cdFx0XHR3aWR0aCAxMDAlXHJcblx0Jl9faW1hZ2VcclxuXHRcdHBvc2l0aW9uIHJlbGF0aXZlXHJcblx0XHRwYWRkaW5nIHJlbSgyOClcclxuXHRcdGhlaWdodCByZW0oMzYwKVxyXG5cdFx0ZGlzcGxheSBmbGV4XHJcblx0XHRhbGlnbi1pdGVtcyBmbGV4LWVuZFxyXG5cdFx0aW1nXHJcblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHRcdHRvcCAwXHJcblx0XHRcdHJpZ2h0IDBcclxuXHRcdFx0Ym90dG9tIDBcclxuXHRcdFx0bGVmdCAwXHJcblx0XHRcdHotaW5kZXggLTFcclxuXHQmX19zdWJ0aXRsZVxyXG5cdFx0Zm9udC1zaXplIHJlbSg1MilcclxuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcclxuXHRcdGNvbG9yICNmZmZcclxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oNDgpO1xyXG5cdFx0c3BhblxyXG5cdFx0XHRjb2xvciAkb3JhbmdlXHJcblx0Jl9fdGV4dFxyXG5cdFx0bWFyZ2luLXRvcCByZW0oMzIpXHJcblx0XHRmb250LXNpemUgcmVtKDIwKVxyXG5cdFx0Zm9udC1mYW1pbHkgJ1JvYm90byBDb25kZW5zZWQnLCBzYW5zLXNlcmlmXHJcblx0XHRmb250LXdlaWdodCAzMDBcclxuXHRcdGNvbG9yICNmZmZcclxuXHRcdGxpbmUtaGVpZ2h0IDEuNFxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdG1hcmdpbi10b3AgcmVtKDI4KVxyXG5cdFx0XHRmb250LXNpemUgcmVtKDE2KVxyXG5cdFx0cDpub3QoOmxhc3QtY2hpbGQpXHJcblx0XHRcdG1hcmdpbiAwIDAgcmVtKDM2KSAwXHJcblx0XHRcdCt0YWJsZXQoKVxyXG5cdFx0XHRcdG1hcmdpbiAwIDAgcmVtKDI4KSAwXHJcblx0XHR1bCBsaVxyXG5cdFx0XHRwYWRkaW5nLWxlZnQgcmVtKDE2KVxyXG5cdFx0XHRtYXJnaW4tbGVmdCByZW0oMTApXHJcblx0XHRcdCY6Om1hcmtlclxyXG5cdFx0XHRcdGNvbnRlbnQgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nNicgaGVpZ2h0PScxMCcgdmlld0JveD0nMCAwIDYgMTAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNMCAxMFYwTDYgNC45OTYyNEwwIDEwWicgZmlsbD0nJTIzRTY3OTJEJy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG5cdFx0XHQmOm5vdCg6bGFzdC1jaGlsZClcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tIHJlbSgzNilcclxuXHRcdFx0XHQrbW9iaWxlKClcclxuXHRcdFx0XHRcdHJlbSgyOClcclxuIiwiLmNvbnRhY3RzXHJcblx0bWFyZ2luLXRvcCByZW0oNjApXHJcblx0ZGlzcGxheSBmbGV4XHJcblx0anVzdGlmeS1jb250ZW50IHNwYWNlLWJldHdlZW5cclxuXHRjb2x1bW4tZ2FwIHJlbSgxMjUpXHJcblx0K3RhYmxldCgpXHJcblx0XHRtYXJnaW4tdG9wIHJlbSg0MilcclxuXHRcdGNvbHVtbi1nYXAgcmVtKDcwKVxyXG5cdCttb2JpbGUoKVxyXG5cdFx0bWFyZ2luLXRvcCByZW0oMjQpXHJcblx0XHRmbGV4LWRpcmVjdGlvbiBjb2x1bW5cclxuXHRcdHJvdy1nYXAgcmVtKDI0KVxyXG5cdCYtaW5mb1xyXG5cdFx0d2lkdGggY2FsYygyNjUgLyAxMTQwICogMTAwJSlcclxuXHRcdGZvbnQtZmFtaWx5ICdSb2JvdG8gQ29uZGVuc2VkJywgc2Fucy1zZXJpZlxyXG5cdFx0Zm9udC1zaXplIHJlbSgyMClcclxuXHRcdGZvbnQtd2VpZ2h0IDMwMFxyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdHdpZHRoIGNhbGMoMjcwIC8gOTU3ICogMTAwJSlcclxuXHRcdFx0Zm9udC1zaXplIHJlbSgxNilcclxuXHRcdCttb2JpbGUoKVxyXG5cdFx0XHR3aWR0aCAxMDAlXHJcblx0XHQmX19saW5lXHJcblx0XHRcdGRpc3BsYXkgZmxleFxyXG5cdFx0XHQmOm5vdCg6bGFzdC1jaGlsZClcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tIHJlbSgyOClcclxuXHRcdFx0XHQrdGFibGV0KClcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b20gcmVtKDIwKVxyXG5cdFx0XHQmLm9yYW5nZVxyXG5cdFx0XHRcdGNvbG9yICRvcmFuZ2VcclxuXHRcdCZfX2ljb25cclxuXHRcdFx0d2lkdGggcmVtKDIwKVxyXG5cdFx0XHRoZWlnaHQgcmVtKDIwKVxyXG5cdFx0XHRtYXJnaW4tcmlnaHQgcmVtKDE1KVxyXG5cdFx0XHRmbGV4LXNocmluayAwXHJcblx0XHRcdHN2Z1xyXG5cdFx0XHRcdHdpZHRoIDEwMCVcclxuXHRcdFx0XHRoZWlnaHQgMTAwJVxyXG5cdFx0XHRcdGZpbGwgI2ZmZlxyXG5cdCYtbWFwXHJcblx0XHRmbGV4LWdyb3cgMVxyXG5cdFx0aGVpZ2h0IHJlbSg0MTApXHJcblx0XHRib3JkZXItcmFkaXVzIHJlbSg0KVxyXG5cdFx0b3ZlcmZsb3cgaGlkZGVuXHJcblx0XHQrdGFibGV0KClcclxuXHRcdFx0aGVpZ2h0IHJlbSgzNDUpXHJcblx0XHQrbW9iaWxlKClcclxuXHRcdFx0aGVpZ2h0IHJlbSg0MDApXHJcblx0XHQjbWFwXHJcblx0XHRcdHdpZHRoIDEwMCVcclxuXHRcdFx0aGVpZ2h0IDEwMCVcclxuXHJcbiIsIi8qXG4gKiBIZWxwZXIgZm9yIGJvcmRlci1yYWRpdXMoKS5cbiAqL1xuXG4tYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG4gIGlmIGxlbmd0aChwb3MpID09IDNcbiAgICAvLyBib3JkZXItcmFkaXVzOiA8dG9wIHwgYm90dG9tPiA8bGVmdCB8IHJpZ2h0PiA8bj5cbiAgICB5ID0gcG9zWzBdXG4gICAgeCA9IHBvc1sxXVxuICAgIC8vIFdlIGRvbid0IHVzZSB2ZW5kb3IgZm9yIGJvZGVyLXJhZGl1cyBhbnltb3JlXG4gICAgLy8gdmVuZG9yKCdib3JkZXItcmFkaXVzLSVzJXMnICUgcG9zLCBwb3NbMl0sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcbiAgICB7J2JvcmRlci0lcy0lcy1yYWRpdXMnICUgcG9zfTogcG9zWzJdIGltcG9ydGFuY2VcbiAgZWxzZSBpZiBwb3NbMF0gaW4gKHRvcCBib3R0b20pXG4gICAgLy8gYm9yZGVyLXJhZGl1czogPHRvcCB8IGJvdHRvbT4gPG4+XG4gICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zWzBdIGxlZnQgcG9zWzFdLCBpbXBvcnRhbmNlKVxuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvc1swXSByaWdodCBwb3NbMV0sIGltcG9ydGFuY2UpXG4gIGVsc2UgaWYgcG9zWzBdIGluIChsZWZ0IHJpZ2h0KVxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDxsZWZ0IHwgcmlnaHQ+IDxuPlxuICAgIHVuc2hpZnQocG9zLCB0b3ApO1xuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvcywgaW1wb3J0YW5jZSlcbiAgICBwb3NbMF0gPSBib3R0b21cbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG5cbi8qXG4gKiBib3JkZXItcmFkaXVzIHN1cHBvcnRpbmcgYXVnbWVudGVkIGJlaGF2aW9yLlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgIGJvcmRlci1yYWRpdXM6IDJweCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCA1cHggYm90dG9tIDEwcHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IGxlZnQgNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgbGVmdCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCBsZWZ0IDEwcHggYm90dG9tIHJpZ2h0IDVweFxuICogICAgYm9yZGVyLXJhZGl1czogdG9wIGxlZnQgMTBweCwgYm90dG9tIHJpZ2h0IDVweFxuICpcbiAqL1xuXG5ib3JkZXItcmFkaXVzKClcbiAgcG9zID0gKClcbiAgYXVnbWVudGVkID0gZmFsc2VcbiAgaW1wb3J0YW5jZSA9IGFyZ3VtZW50c1tsZW5ndGgoYXJndW1lbnRzKSAtIDFdID09ICFpbXBvcnRhbnQgPyAhaW1wb3J0YW50IDogdW5xdW90ZSgnJylcblxuICBmb3IgYXJncyBpbiBhcmd1bWVudHNcbiAgICBmb3IgYXJnIGluIGFyZ3NcbiAgICAgIGlmIGFyZyBpcyBhICdpZGVudCdcbiAgICAgICAgYXBwZW5kKHBvcywgYXJnKVxuICAgICAgICBhdWdtZW50ZWQgPSB0cnVlXG4gICAgICBlbHNlXG4gICAgICAgIGFwcGVuZChwb3MsIGFyZylcbiAgICAgICAgaWYgYXVnbWVudGVkXG4gICAgICAgICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuICAgICAgICAgIHBvcyA9ICgpXG4gIGJvcmRlci1yYWRpdXMgcG9zIHVubGVzcyBhdWdtZW50ZWRcbiIsIi5hYm91dFxyXG5cdCYtdG9wXHJcblx0XHQrbW9iaWxlKClcclxuXHRcdFx0ZGlzcGxheSBmbGV4XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uIGNvbHVtblxyXG5cdFx0Jl9faW1hZ2VcclxuXHRcdFx0bWFyZ2luIDAgMCByZW0oNDIpIHJlbSgzMylcclxuXHRcdFx0d2lkdGggcmVtKDM2MClcclxuXHRcdFx0aGVpZ2h0IHJlbSgzNjApXHJcblx0XHRcdGZsb2F0IHJpZ2h0XHJcblx0XHRcdG9yZGVyIDJcclxuXHRcdFx0K3RhYmxldCgpXHJcblx0XHRcdFx0bWFyZ2luIDAgMCByZW0oMjEpIHJlbSgyMSlcclxuXHRcdFx0XHR3aWR0aCByZW0oMzAzKVxyXG5cdFx0XHRcdGhlaWdodCByZW0oMzAzKVxyXG5cdFx0XHQrbW9iaWxlKClcclxuXHRcdFx0XHRtYXJnaW4gcmVtKDI4KSAwIDBcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbSBjbGFtcChyZW0oMzQxKSwgNzB2dywgcmVtKDQ5MCkpXHJcblx0XHRcdFx0d2lkdGggMTAwJVxyXG5cdFx0XHRcdGhlaWdodCAwXHJcblx0XHRcdFx0cG9zaXRpb24gcmVsYXRpdmVcclxuXHRcdFx0XHRpbWdcclxuXHRcdFx0XHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHRcdFx0XHR0b3AgMFxyXG5cdFx0XHRcdFx0cmlnaHQgMFxyXG5cdFx0XHRcdFx0Ym90dG9tIDBcclxuXHRcdFx0XHRcdGxlZnQgMFxyXG5cdCYtdGl0bGVcclxuXHRcdGZvbnQtc2l6ZSByZW0oNjQpXHJcblx0XHRmb250LXdlaWdodCBib2xkXHJcblx0XHRjb2xvciAkZ3JleVRleHRcclxuXHRcdG9yZGVyIDBcclxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oNDgpXHJcblx0XHQrbW9iaWxlKClcclxuXHRcdFx0Zm9udC1zaXplIHJlbSgzNilcclxuXHQmLXRleHRcclxuXHRcdGZvbnQtZmFtaWx5IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmXHJcblx0XHRmb250LXNpemUgcmVtKDIwKVxyXG5cdFx0Zm9udC13ZWlnaHQgMzAwXHJcblx0XHRvcmRlciAxXHJcblx0XHRwXHJcblx0XHRcdG1hcmdpbiAwXHJcblx0XHRwOm5vdCg6bGFzdC1jaGlsZClcclxuXHRcdFx0bWFyZ2luIDAgMCByZW0oMjgpXHJcblx0XHQmX190b3BcclxuXHRcdFx0bWFyZ2luLXRvcCByZW0oNTApXHJcblx0XHRcdCt0YWJsZXQoKVxyXG5cdFx0XHRcdG1hcmdpbi10b3AgcmVtKDQwKVxyXG5cdFx0XHRcdGZvbnQtc2l6ZSByZW0oMTYpXHJcblx0XHQmX19ib3R0b21cclxuXHRcdFx0b3JkZXIgM1xyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdG1hcmdpbi10b3AgcmVtKDI4KVxyXG5cclxuLmFib3V0XHJcblx0Ji1ib3R0b21cclxuXHRcdG1hcmdpbi10b3AgcmVtKDQ4KVxyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdG1hcmdpbi10b3AgcmVtKDM2KVxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdG1hcmdpbi10b3AgcmVtKDI4KVxyXG5cdFx0Jl9fdGl0bGVcclxuXHRcdFx0bWFyZ2luLWJvdHRvbSByZW0oNjApXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMjApXHJcblx0XHRcdGNvbG9yICRncmV5VGV4dFxyXG5cdFx0XHQrdGFibGV0KClcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tIHJlbSg1MilcclxuXHRcdFx0K21vYmlsZSgpXHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbSByZW0oNDApXHJcblx0Ji1mYWN0c1xyXG5cdFx0bWFyZ2luIHJlbSgtMTUpXHJcblx0XHRkaXNwbGF5IGZsZXhcclxuXHRcdCt0YWJsZXQoKVxyXG5cdFx0XHRtYXJnaW4gcmVtKC0xMClcclxuXHRcdCttb2JpbGUoKVxyXG5cdFx0XHRtYXJnaW4gcmVtKC0yMClcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb24gY29sdW1uXHJcblx0Ji1mYWN0XHJcblx0XHRwYWRkaW5nIHJlbSgxNSlcclxuXHRcdHdpZHRoIGNhbGMoMTAwJS8zKVxyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdHBhZGRpbmcgcmVtKDEwKVxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdHBhZGRpbmcgcmVtKDIwKVxyXG5cdFx0XHR3aWR0aCAxMDAlXHJcblx0XHQmX19zbG9nYW5cclxuXHRcdFx0Zm9udC1zaXplIHJlbSg0OClcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXHJcblx0XHRcdGZvbnQtd2VpZ2h0IGJvbGRcclxuXHRcdFx0bWFyZ2luLWJvdHRvbSByZW0oNjApXHJcblx0XHRcdHdoaXRlLXNwYWNlIG5vd3JhcFxyXG5cdFx0XHQrdGFibGV0KClcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tIHJlbSg0MClcclxuXHRcdFx0XHRmb250LXNpemUgcmVtKDQwKVxyXG5cdFx0XHQrbW9iaWxlKClcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tIHJlbSgyOClcclxuXHRcdFx0XHR3aWR0aCBmaXQtY29udGVudFxyXG5cdFx0XHQmLWxlZnRcclxuXHRcdFx0XHRjb2xvciAkZ3JleVRleHRcclxuXHRcdFx0Ji1yaWdodFxyXG5cdFx0XHRcdG1hcmdpbi10b3AgcmVtKC0xMilcclxuXHRcdFx0XHRtYXJnaW4tbGVmdCAzMCVcclxuXHRcdFx0XHRzcGFuXHJcblx0XHRcdFx0XHRjb2xvciAkb3JhbmdlXHJcblx0XHQmX190ZXh0XHJcblx0XHRcdGZvbnQtZmFtaWx5IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMjApXHJcblx0XHRcdGZvbnQtd2VpZ2h0IDMwMFxyXG5cdFx0XHQrdGFibGV0KClcclxuXHRcdFx0XHRmb250LXNpemUgcmVtKDE2KVxyXG5cdFx0XHRwXHJcblx0XHRcdFx0bWFyZ2luIDBcclxuXHRcdFx0cDpub3QoOmxhc3QtY2hpbGQpXHJcblx0XHRcdFx0bWFyZ2luIDAgMCByZW0oMjgpIDBcclxuXHRcdCZfX2J1dHRvblxyXG5cdFx0XHRtYXJnaW4tdG9wIHJlbSg0MClcclxuXHRcdFx0ZGlzcGxheSBmbGV4XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uIGNvbHVtblxyXG5cdFx0XHRyb3ctZ2FwIHJlbSgyMClcclxuXHRcdFx0YWxpZ24taXRlbXMgY2VudGVyXHJcblx0XHRcdGFcclxuXHRcdFx0XHRkaXNwbGF5IGJsb2NrXHJcblx0XHRcdFx0cGFkZGluZyByZW0oMTIpIHJlbSgxNSlcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcclxuXHRcdFx0XHRmb250LXNpemUgcmVtKDIwKVxyXG5cdFx0XHRcdHdpZHRoIGZpdC1jb250ZW50XHJcblx0XHRcdFx0Y29sb3IgIzAwMFxyXG5cdFx0XHRcdHRyYW5zaXRpb24gZmlsdGVyIDAuM3MgZWFzZVxyXG5cdFx0XHRcdCY6aG92ZXJcclxuXHRcdFx0XHRcdGZpbHRlciBicmlnaHRuZXNzKDAuNzUpXHJcblx0XHRcdFx0Ji5vcmFuZ2VcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3IgJG9yYW5nZVxyXG5cdFx0XHRcdCYuZ3JleVxyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvciAkZ3JleVxyXG4iLCIucG9ydGZvbGlvXHJcblx0Ji10aXRsZVxyXG5cdFx0Zm9udC1zaXplOiByZW0oNjQpO1xyXG5cdFx0Y29sb3I6ICRncmV5VGV4dDtcclxuXHRcdCt0YWJsZXQoKVxyXG5cdFx0XHRmb250LXNpemUgcmVtKDQ4KVxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMzYpXHJcblx0Ji1yb3dcclxuXHRcdG1hcmdpbi10b3A6IHJlbSg2MCk7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdG1hcmdpbi10b3AgcmVtKDUwKVxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdG1hcmdpbi10b3A6IHJlbSg0MClcclxuXHRcdCZfX3RpdGxlXHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgyNik7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDY0KTtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdFx0XHQmOjpmaXJzdC1sZXR0ZXJcclxuXHRcdFx0XHRjb2xvcjogJG9yYW5nZTtcclxuXHRcdFx0K2JlbG93KCR0YWJsZXQpXHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMzApO1xyXG5cdCYtZGVjb3JsaW5lXHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRmbGV4LWdyb3c6IDE7XHJcblx0XHQmOjpiZWZvcmVcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiByZW0oOCk7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRoZWlnaHQ6IHJlbSg1KTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzkwQTRBRjtcclxuXHRcdFx0K21vYmlsZSgpXHJcblx0XHRcdFx0aGVpZ2h0OiByZW0oMyk7XHJcblx0Ji1ibG9ja3NcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0cm93LWdhcDogcmVtKDMwKTtcclxuXHRcdG1hcmdpbi10b3AgcmVtKDM2KVxyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdHJvdy1nYXA6IHJlbSgxNik7XHJcblx0XHQrbW9iaWxlKClcclxuXHRcdFx0cm93LWdhcDogaW5pdGlhbDtcclxuXHRcdCZfX3Jvd1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRtYXJnaW46IHJlbSgtMTUpO1xyXG5cdFx0XHQrdGFibGV0KClcclxuXHRcdFx0XHRtYXJnaW46IHJlbSgtOCk7XHJcblx0XHRcdCttb2JpbGUoKVxyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGRcclxuXHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuXHQmLWJsb2NrXHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nOiByZW0oMTUpO1xyXG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAzKSk7XHJcblx0XHRoZWlnaHQ6IHJlbSgzNjApO1xyXG5cdFx0K3RhYmxldCgpXHJcblx0XHRcdHBhZGRpbmc6IHJlbSg4KTtcclxuXHRcdFx0aGVpZ2h0OiByZW0oMzAwKTtcclxuXHRcdCttb2JpbGUoKVxyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cdFx0XHRoZWlnaHQgYXV0b1xyXG5cdFx0Ji0tYmlnXHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLyAzICogMik7XHJcblxyXG4ucG9ydGZvbGlvLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5wb3J0Zm9saW8tYmxvY2stLWJpZ1xyXG5cdCttb2JpbGUoKVxyXG5cdFx0ZGlzcGxheSBub25lXHJcblxyXG4ucG9ydGZvbGlvLXNsaWRlclxyXG5cdHdpZHRoIDEwMCVcclxuXHJcbi5wb3J0Zm9saW8tcGFnaW5hdGlvblxyXG5cdHBvc2l0aW9uIGFic29sdXRlXHJcblx0d2lkdGggY2FsYygxMDAlIC8gMylcclxuXHRoZWlnaHQgMTAwJVxyXG5cdCttb2JpbGUoKVxyXG5cdFx0d2lkdGggMTAwJVxyXG5cdFx0aGVpZ2h0IHJlbSgxMjUpICsgcmVtKDM1NCkgKyByZW0oNDgpXHJcblx0LnN3aXBlci1wYWdpbmF0aW9uXHJcblx0XHQtLXN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbSByZW0oMTIpXHJcblx0Ji5yaWdodGRcclxuXHRcdHJpZ2h0IDBcclxuXHJcblxyXG4ucG9ydGZvbGlvLWlubmVyXHJcblx0Zm9udC1mYW1pbHk6ICdSb2JvdG8gQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcclxuXHRmb250LXNpemU6IHJlbSgxNik7XHJcblx0cGFkZGluZzogcmVtKDEyKVxyXG5cdGhlaWdodCAxMDAlXHJcblx0K21vYmlsZSgpXHJcblx0XHR0ZXh0LWFsaWduIGNlbnRlclxyXG5cdFx0cGFkZGluZyAwXHJcblx0Jl9fbG9nb1xyXG5cdFx0cGFkZGluZyByZW0oMTUpIDAgcmVtKDMwKVxyXG5cdFx0aGVpZ2h0OiByZW0oMTI1KTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHQrdGFibGV0KClcclxuXHRcdFx0aGVpZ2h0IHJlbSgxMDUpXHJcblx0XHRpbWdcclxuXHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcclxuXHRcdFx0d2lkdGg6IGluaXRpYWw7XHJcblx0XHRcdGhlaWdodDogaW5pdGlhbDtcclxuXHRcdFx0bWF4LXdpZHRoIDEwMCVcclxuXHRcdFx0bWF4LWhlaWdodCAxMDAlXHJcblx0Jl9fYmFubmVyXHJcblx0XHRoZWlnaHQgcmVtKDM1NClcclxuXHRcdCthYm92ZSgkbW9iaWxlKVxyXG5cdFx0XHRkaXNwbGF5IG5vbmVcclxuXHQmX190aXRsZVxyXG5cdFx0bWFyZ2luLXRvcDogcmVtKDE3KTtcclxuXHRcdGNvbG9yOiAkZ3JleVRleHQ7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdCttb2JpbGUoKVxyXG5cdFx0XHRtYXJnaW4tdG9wIHJlbSg0OClcclxuXHQmX19kZXNjcmlwdGlvblxyXG5cdFx0bWFyZ2luLXRvcDogcmVtKDE5KTtcclxuXHRcdG1heC13aWR0aDogcmVtKDI3OSk7XHJcblx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdHBhZGRpbmcgMCByZW0oMjApXHJcblx0XHRcdG1heC13aWR0aCBub25lXHJcblxyXG4ucG9ydGZvbGlvLXNsaWRlcl9fYmFja2dyb3VuZFxyXG5cdCttb2JpbGUoKVxyXG5cdFx0bWFyZ2luIDAgcmVtKC0xNSlcclxuXHRcdHBhZGRpbmcgMCByZW0oMTUpIHJlbSgzMClcclxuXHRcdCY6bnRoLWNoaWxkKG9kZClcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvciAkc2Vjb25kYXJ5XHJcbiIsIi5ub3QtZm91bmRcclxuXHRtYXgtd2lkdGggcmVtKDYxMClcclxuXHQmX193cmFwcGVyXHJcblx0XHRwYWRkaW5nLXRvcCByZW0oODApXHJcblx0XHRkaXNwbGF5IGZsZXhcclxuXHRcdGZsZXgtZGlyZWN0aW9uIGNvbHVtblxyXG5cdFx0YWxpZ24taXRlbXMgY2VudGVyXHJcblx0XHR0ZXh0LWFsaWduIGNlbnRlclxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdHBhZGRpbmctdG9wIHJlbSg0MClcclxuXHQmX19udW1iZXJzXHJcblx0XHRtYXJnaW4gMCBhdXRvXHJcblx0XHRmb250LXNpemUgcmVtKDMwMClcclxuXHRcdGZvbnQtd2VpZ2h0IGJvbGRcclxuXHRcdGNvbG9yICRvcmFuZ2VcclxuXHRcdHBvc2l0aW9uIHJlbGF0aXZlXHJcblx0XHR3aWR0aCBmaXQtY29udGVudFxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMjAwKVxyXG5cdCZfX2xhYmVsXHJcblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdFx0dG9wIDE2JVxyXG5cdFx0bGVmdCAtMjQlXHJcblx0XHRiYWNrZ3JvdW5kICRwcmltYXJ5XHJcblx0XHRwYWRkaW5nIHJlbSg0KVxyXG5cdFx0Zm9udC1zaXplIHJlbSg0MClcclxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cdFx0Y29sb3IgI2ZmZmZmZlxyXG5cdFx0K21vYmlsZSgpXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMjYpXHJcblx0XHRcdGZvbnQtd2VpZ2h0IG5vcm1hbFxyXG5cdCZfX2Rlc2NyaXB0aW9uXHJcblx0XHRmb250LXNpemUgcmVtKDQwKVxyXG5cdFx0Y29sb3IgJGdyZXlUZXh0XHJcblx0XHQrbW9iaWxlKClcclxuXHRcdFx0Zm9udC1zaXplIHJlbSgyNClcclxuXHRcdHNwYW5cclxuXHRcdFx0Y29sb3IgJG9yYW5nZVxyXG5cdCZfX2JvdHRvbVxyXG5cdFx0bWFyZ2luLXRvcCByZW0oODYpXHJcblx0XHRmb250LWZhbWlseSBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZlxyXG5cdFx0Zm9udC1zaXplIHJlbSgyMClcclxuXHRcdGZvbnQtd2VpZ2h0IDMwMFxyXG5cdFx0bGluZS1oZWlnaHQgMS4yXHJcblx0XHQrbW9iaWxlKClcclxuXHRcdFx0bWFyZ2luLXRvcCByZW0oNTApXHJcblx0XHRcdGZvbnQtc2l6ZSByZW0oMTYpXHJcblx0XHRhXHJcblx0XHRcdGNvbG9yICRvcmFuZ2VcclxuIl19 */
