/*!***********************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./src/scss/main.scss ***!
  \***********************************************************************************************************************************************************************************/
@media (min-width: 1025px) {
    .mobile-only {
        display: none !important; } }

@media (max-width: 1024px) {
    .desktop-only {
        display: none !important; } }

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box; }

section {
    position: relative;
    z-index: 2; }

html.has-scroll-smooth {
    overflow: hidden;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0; }

.g-1 {
    width: 3.75rem; }

.g-2 {
    width: 7.5rem; }

.g-3 {
    width: 11.25rem; }

.g-4 {
    width: 15rem; }

.g-5 {
    width: 18.75rem; }

.g-6 {
    width: 22.5rem; }

.g-7 {
    width: 26.25rem; }

.g-8 {
    width: 30rem; }

.g-9 {
    width: 33.75rem; }

.g-10 {
    width: 37.5rem; }

.g-11 {
    width: 41.25rem; }

.g-12 {
    width: 45rem; }

.g-13 {
    width: 48.75rem; }

.g-14 {
    width: 52.5rem; }

.g-15 {
    width: 56.25rem; }

.g-16 {
    width: 60rem; }

.g-17 {
    width: 63.75rem; }

.g-18 {
    width: 67.5rem; }

.g-19 {
    width: 71.25rem; }

.g-20 {
    width: 75rem; }

.g-21 {
    width: 78.75rem; }

.g-22 {
    width: 82.5rem; }

.g-23 {
    width: 86.25rem; }

.g-24 {
    width: 90rem; }

.gc-1 {
    width: 4.16667vw; }

.gc-2 {
    width: 8.33333vw; }

.gc-3 {
    width: 12.5vw; }

.gc-4 {
    width: 16.66667vw; }

.gc-5 {
    width: 20.83333vw; }

.gc-6 {
    width: 25vw; }

.gc-7 {
    width: 29.16667vw; }

.gc-8 {
    width: 33.33333vw; }

.gc-9 {
    width: 37.5vw; }

.gc-10 {
    width: 41.66667vw; }

.gc-11 {
    width: 45.83333vw; }

.gc-12 {
    width: 50vw; }

.gc-13 {
    width: 54.16667vw; }

.gc-14 {
    width: 58.33333vw; }

.gc-15 {
    width: 62.5vw; }

.gc-16 {
    width: 66.66667vw; }

.gc-17 {
    width: 70.83333vw; }

.gc-18 {
    width: 75vw; }

.gc-19 {
    width: 79.16667vw; }

.gc-20 {
    width: 83.33333vw; }

.gc-21 {
    width: 87.5vw; }

.gc-22 {
    width: 91.66667vw; }

.gc-23 {
    width: 95.83333vw; }

.gc-24 {
    width: 100vw; }

.gc-1-half {
    width: 6.25vw; }

.gc-2-half {
    width: 9.375vw; }

.gc-2-seven-five {
    width: 11.45833vw; }

.gc-1-two-five,
.gc-two-five {
    width: 5.20833vw; }

.gc-1-seven-five {
    width: 7.29167vw; }

.g-o-1 {
    margin-left: 3.75rem; }

.g-o-2 {
    margin-left: 7.5rem; }

.g-o-3 {
    margin-left: 11.25rem; }

.g-o-4 {
    margin-left: 15rem; }

.g-o-5 {
    margin-left: 18.75rem; }

.g-o-6 {
    margin-left: 22.5rem; }

.g-o-7 {
    margin-left: 26.25rem; }

.g-o-8 {
    margin-left: 30rem; }

.g-o-9 {
    margin-left: 33.75rem; }

.g-o-10 {
    margin-left: 37.5rem; }

.g-o-11 {
    margin-left: 41.25rem; }

.g-o-12 {
    margin-left: 45rem; }

.g-o-13 {
    margin-left: 48.75rem; }

.g-o-14 {
    margin-left: 52.5rem; }

.g-o-15 {
    margin-left: 56.25rem; }

.g-o-16 {
    margin-left: 60rem; }

.g-o-17 {
    margin-left: 63.75rem; }

.g-o-18 {
    margin-left: 67.5rem; }

.g-o-19 {
    margin-left: 71.25rem; }

.g-o-20 {
    margin-left: 75rem; }

.g-o-21 {
    margin-left: 78.75rem; }

.g-o-22 {
    margin-left: 82.5rem; }

.g-o-23 {
    margin-left: 86.25rem; }

.g-o-24 {
    margin-left: 90rem; }

section {
    width: 100%;
    display: block; }

.row {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .row [class^=g-] {
        box-sizing: border-box; }

.align-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }

.f-column {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .f-column .subtitle {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }

.align-center-col {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .align-center-col [class^=g-] {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }

.align-top-center {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start; }

[class^=g-].align-center {
    text-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }

@media (min-width: 1441px) {
    section > .row {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto; }
    section .g-1 {
        width: 4.16667%; }
    section .g-2 {
        width: 8.33333%; }
    section .g-3 {
        width: 12.5%; }
    section .g-4 {
        width: 16.66667%; }
    section .g-5 {
        width: 20.83333%; }
    section .g-6 {
        width: 25%; }
    section .g-7 {
        width: 29.16667%; }
    section .g-8 {
        width: 33.33333%; }
    section .g-9 {
        width: 37.5%; }
    section .g-10 {
        width: 41.66667%; }
    section .g-11 {
        width: 45.83333%; }
    section .g-12 {
        width: 50%; }
    section .g-13 {
        width: 54.16667%; }
    section .g-14 {
        width: 58.33333%; }
    section .g-15 {
        width: 62.5%; }
    section .g-16 {
        width: 66.66667%; }
    section .g-17 {
        width: 70.83333%; }
    section .g-18 {
        width: 75%; }
    section .g-19 {
        width: 79.16667%; }
    section .g-20 {
        width: 83.33333%; }
    section .g-21 {
        width: 87.5%; }
    section .g-22 {
        width: 91.66667%; }
    section .g-23 {
        width: 95.83333%; }
    section .g-24 {
        width: 100%; }
    section .gc-1 {
        width: 4.16667%; }
    section .gcp-1 {
        width: 4.16667%; }
    section .g-o-1 {
        margin-left: 4.16667%; }
    section .gpm-o-1 {
        margin-left: 4.16667%; }
    section .gc-2 {
        width: 8.33333%; }
    section .gcp-2 {
        width: 8.33333%; }
    section .g-o-2 {
        margin-left: 8.33333%; }
    section .gpm-o-2 {
        margin-left: 8.33333%; }
    section .gc-3 {
        width: 12.5%; }
    section .gcp-3 {
        width: 12.5%; }
    section .g-o-3 {
        margin-left: 12.5%; }
    section .gpm-o-3 {
        margin-left: 12.5%; }
    section .gc-4 {
        width: 16.66667%; }
    section .gcp-4 {
        width: 16.66667%; }
    section .g-o-4 {
        margin-left: 16.66667%; }
    section .gpm-o-4 {
        margin-left: 16.66667%; }
    section .gc-5 {
        width: 20.83333%; }
    section .gcp-5 {
        width: 20.83333%; }
    section .g-o-5 {
        margin-left: 20.83333%; }
    section .gpm-o-5 {
        margin-left: 20.83333%; }
    section .gc-6 {
        width: 25%; }
    section .gcp-6 {
        width: 25%; }
    section .g-o-6 {
        margin-left: 25%; }
    section .gpm-o-6 {
        margin-left: 25%; }
    section .gc-7 {
        width: 29.16667%; }
    section .gcp-7 {
        width: 29.16667%; }
    section .g-o-7 {
        margin-left: 29.16667%; }
    section .gpm-o-7 {
        margin-left: 29.16667%; }
    section .gc-8 {
        width: 33.33333%; }
    section .gcp-8 {
        width: 33.33333%; }
    section .g-o-8 {
        margin-left: 33.33333%; }
    section .gpm-o-8 {
        margin-left: 33.33333%; }
    section .gc-9 {
        width: 37.5%; }
    section .gcp-9 {
        width: 37.5%; }
    section .g-o-9 {
        margin-left: 37.5%; }
    section .gpm-o-9 {
        margin-left: 37.5%; }
    section .gc-10 {
        width: 41.66667%; }
    section .gcp-10 {
        width: 41.66667%; }
    section .g-o-10 {
        margin-left: 41.66667%; }
    section .gpm-o-10 {
        margin-left: 41.66667%; }
    section .gc-11 {
        width: 45.83333%; }
    section .gcp-11 {
        width: 45.83333%; }
    section .g-o-11 {
        margin-left: 45.83333%; }
    section .gpm-o-11 {
        margin-left: 45.83333%; }
    section .gc-12 {
        width: 50%; }
    section .gcp-12 {
        width: 50%; }
    section .g-o-12 {
        margin-left: 50%; }
    section .gpm-o-12 {
        margin-left: 50%; }
    section .gc-13 {
        width: 54.16667%; }
    section .gcp-13 {
        width: 54.16667%; }
    section .g-o-13 {
        margin-left: 54.16667%; }
    section .gpm-o-13 {
        margin-left: 54.16667%; }
    section .gc-14 {
        width: 58.33333%; }
    section .gcp-14 {
        width: 58.33333%; }
    section .g-o-14 {
        margin-left: 58.33333%; }
    section .gpm-o-14 {
        margin-left: 58.33333%; }
    section .gc-15 {
        width: 62.5%; }
    section .gcp-15 {
        width: 62.5%; }
    section .g-o-15 {
        margin-left: 62.5%; }
    section .gpm-o-15 {
        margin-left: 62.5%; }
    section .gc-16 {
        width: 66.66667%; }
    section .gcp-16 {
        width: 66.66667%; }
    section .g-o-16 {
        margin-left: 66.66667%; }
    section .gpm-o-16 {
        margin-left: 66.66667%; }
    section .gc-17 {
        width: 70.83333%; }
    section .gcp-17 {
        width: 70.83333%; }
    section .g-o-17 {
        margin-left: 70.83333%; }
    section .gpm-o-17 {
        margin-left: 70.83333%; }
    section .gc-18 {
        width: 75%; }
    section .gcp-18 {
        width: 75%; }
    section .g-o-18 {
        margin-left: 75%; }
    section .gpm-o-18 {
        margin-left: 75%; }
    section .gc-19 {
        width: 79.16667%; }
    section .gcp-19 {
        width: 79.16667%; }
    section .g-o-19 {
        margin-left: 79.16667%; }
    section .gpm-o-19 {
        margin-left: 79.16667%; }
    section .gc-20 {
        width: 83.33333%; }
    section .gcp-20 {
        width: 83.33333%; }
    section .g-o-20 {
        margin-left: 83.33333%; }
    section .gpm-o-20 {
        margin-left: 83.33333%; }
    section .gc-21 {
        width: 87.5%; }
    section .gcp-21 {
        width: 87.5%; }
    section .g-o-21 {
        margin-left: 87.5%; }
    section .gpm-o-21 {
        margin-left: 87.5%; }
    section .gc-22 {
        width: 91.66667%; }
    section .gcp-22 {
        width: 91.66667%; }
    section .g-o-22 {
        margin-left: 91.66667%; }
    section .gpm-o-22 {
        margin-left: 91.66667%; }
    section .gc-23 {
        width: 95.83333%; }
    section .gcp-23 {
        width: 95.83333%; }
    section .g-o-23 {
        margin-left: 95.83333%; }
    section .gpm-o-23 {
        margin-left: 95.83333%; }
    section .gc-24 {
        width: 100%; }
    section .gcp-24 {
        width: 100%; }
    section .g-o-24 {
        margin-left: 100%; }
    section .gpm-o-24 {
        margin-left: 100%; }
    section.fluid {
        max-width: 100vw;
        margin-left: auto;
        margin-right: auto; }
        section.fluid .row {
            max-width: 100vw; } }

@media (min-width: 769px) {
    .post-portfolio-hero .outline.below-md,
    .stat-toggle.below-md,
    .horizontal-image-scroller.below-md,
    .row.below-md,
    .below-md {
        display: none;
        visibility: hidden; }
    .md-align-end {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -ms-flex-align: end;
        -webkit-align-items: flex-end;
        -moz-align-items: flex-end;
        align-items: flex-end;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        -webkit-justify-content: flex-end;
        -moz-justify-content: flex-end;
        justify-content: flex-end; }
    .side-pl {
        padding-left: 3.75rem;
        padding-right: 3.75rem; } }

@media (max-width: 768px) {
    #index-hero .word-list.above-md,
    .collection-grid-row.above-md,
    .above-md {
        display: none;
        visibility: hidden; }
    .md-column {
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
        .md-column [class^=gc-],
        .md-column [class^=g-] {
            width: 100%;
            margin-left: 0; }
        .md-column [class^=g-o-] {
            margin-left: 0; }
    .md-column-reverse {
        -webkit-box-direction: reverse;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column-reverse;
        -moz-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; }
        .md-column-reverse [class^=gc-],
        .md-column-reverse [class^=g-] {
            width: 100%;
            margin-left: 0; }
    .md-align-center {
        text-align: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center; }
    .md-side-pl,
    .md-p {
        padding-left: 4.16667vw;
        padding-right: 4.16667vw; }
    .below-md {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        visibility: visible; }
    .side-pl {
        padding-left: 3.69301rem;
        padding-right: 3.69301rem; } }

@font-face {
    font-family: "Violet-JW-Serif-Regular";
    src: url(.././fonts/VioletJWSerif-Regular.woff2) format("woff2"), url(.././fonts/VioletJWSerif-Regular.woff) format("woff");
    font-weight: 400;
    font-style: normal; }

@font-face {
    font-family: "SweetSansPro-Regular";
    src: url(.././fonts/sweetsanspro-regular-webfont.woff2) format("woff2"), url(.././fonts/sweetsanspro-regular-webfont.woff) format("woff");
    font-weight: 400;
    font-style: normal; }

@font-face {
    font-family: "SweetSansPro-Medium";
    src: url(.././fonts/sweetsanspro-medium-webfont.woff2) format("woff2"), url(.././fonts/sweetsanspro-medium-webfont.woff) format("woff");
    font-weight: 700;
    font-style: normal; }

@font-face {
    font-family: "SweetSansPro-Bold";
    src: url(.././fonts/sweetsanspro-bold-webfont.woff2) format("woff2"), url(.././fonts/sweetsanspro-bold-webfont.woff) format("woff");
    font-weight: 900;
    font-style: normal; }

@font-face {
    font-family: "PortraitText";
    src: url(../79913822e2a12bd4f45f.otf) format("opentype");
    font-weight: 400;
    font-style: normal; }

@font-face {
    font-family: "BrownInline";
    src: url(.././fonts/BrownInlineLLTT-Regular.ttf) format("truetype");
    font-weight: 400;
    font-style: normal; }

@font-face {
    font-family: "PPFGL";
    src: url(.././fonts/PPFragment-GlareRegular.woff2) format("woff2");
    font-weight: 400;
    font-style: normal; }

.c-120 {
    font-family: "PPFGL";
    font-weight: 400;
    font-size: 7.50000000000000000000rem;
    line-height: 1.05000000000000000000; }

.c-60 {
    font-size: clamp(40px, 3.125rem, 60px);
    line-height: 1.1;
    font-family: "PPFGL";
    font-weight: 400; }

.c-46 {
    font-family: "PPFGL";
    font-size: clamp(40px, 2.875rem, 60px);
    line-height: 1.1739; }

body {
    color: #52471E;
    font-family: "Violet-JW-Serif-Regular"; }

p {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400; }

h1,
.h1,
h2,
.h2,
h3,
.h4,
h5,
.h5,
h6,
.h6 {
    color: #52471E; }

h1,
.h1 {
    font-family: "PPFGL";
    font-style: normal;
    font-weight: 400;
    font-size: clamp(60px, 5rem, 100px);
    line-height: 1.1; }

h2,
.h2 {
    font-family: "PPFGL";
    font-weight: 400;
    font-size: clamp(40px, 3.125rem, 60px);
    line-height: 1.1600; }

h3,
.h3 {
    font-family: "PPFGL";
    font-weight: 400;
    font-size: 2.500rem;
    line-height: 1.1500; }

h4,
.h4 {
    font-family: "PPFGL";
    font-weight: 400;
    font-size: clamp(26px, 1.875rem, 40px);
    line-height: 1.20; }

h5,
.h5 {
    font-family: "PPFGL";
    font-weight: 400;
    line-height: clamp(24px, 1.41667, 38px); }

h6,
.h6 {
    font-family: "PPFGL";
    font-weight: 400;
    font-size: clamp(20px, 1.375rem, 26px);
    line-height: 1.4545; }

.xs-small {
    font-size: clamp(14px, 0.875rem, 16px);
    line-height: 1.500; }

.xxs-small {
    font-size: clamp(12px, 0.75rem, 14px);
    line-height: 1.50;
    font-family: "SweetSansPro-Regular";
    font-weight: 500; }

figcaption,
.subtitle {
    font-family: "SweetSansPro-Regular";
    font-size: 14px;
    line-height: 1.5000;
    letter-spacing: 0.16em; }
    figcaption.with-lines,
    .subtitle.with-lines {
        position: relative;
        color: #2D2A1F;
        text-transform: uppercase;
        margin-bottom: 15px;
        font-weight: 500;
        font-family: "SweetSansPro-Medium";
        letter-spacing: 2px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        justify-content: flex-start; }
        figcaption.with-lines::before, figcaption.with-lines::after,
        .subtitle.with-lines::before,
        .subtitle.with-lines::after {
            position: relative;
            content: "";
            height: 2px;
            width: clamp(20px, 1.25rem, 1.25rem);
            border-radius: 5px; }
        figcaption.with-lines::before,
        .subtitle.with-lines::before {
            margin-right: 10px; }
        figcaption.with-lines::after,
        .subtitle.with-lines::after {
            margin-left: 10px; }
        figcaption.with-lines.gold::before, figcaption.with-lines.gold::after,
        .subtitle.with-lines.gold::before,
        .subtitle.with-lines.gold::after {
            background: #C8AA7C; }

.xxs-small {
    font-family: "SweetSansPro-Regular";
    font-size: 12px;
    line-height: 1.50000000000000000000;
    font-weight: 400; }

.x-large {
    font-family: "Violet-JW-Serif-Regular";
    font-weight: 400;
    font-size: 20px;
    line-height: 1.40000000000000000000; }

.text-light,
.text-light h1 {
    color: #ffffff; }

@media (min-width: 769px) {
    .h5,
    h5 {
        font-size: clamp(20px, 1.5rem, 24px); } }

html {
    font-size: 1.1111111111111112vw; }

@media (max-width: 768px) and (min-width: 481px) {
    .c-120 {
        font-size: 10.84615384615384615384vw; }
    .h1,
    h1 {
        font-size: 8.25641025641025641025vw; }
    .h2,
    h2 {
        font-size: 7.71794871794871794871vw; }
    .h4,
    h4 {
        font-size: 5.15384615384615384615vw; }
    .h3,
    h3 {
        font-size: 5.69230769230769230769vw; }
    .h5,
    h5 {
        font-size: 4.12820512820512820512vw; } }

@media (max-width: 768px) {
    .h1,
    h1 {
        line-height: 1.20000000000000000000; }
    .h2,
    h2 {
        line-height: 1.17647058823529411764; }
    .h3,
    h3 {
        line-height: 1.20000000000000000000; }
    .blockquote blockquote,
    .h4,
    h4 {
        line-height: 1.41666666666666666666; }
    .h5,
    h5 {
        line-height: 1.40000000000000000000; }
    .c-120 {
        line-height: 1.14814814814814814814; }
    p {
        font-size: clamp(16px, 3.7rem, 16px); } }

@media (max-width: 480px) {
    .c-120 {
        font-size: 13.84615384615384615384vw; }
    .h1,
    h1 {
        font-size: 10.25641025641025641025vw; }
    .h2,
    h2 {
        font-size: 8.71794871794871794871vw; }
    .h3,
    h3 {
        font-size: 7.69230769230769230769vw; }
    .h4,
    h4 {
        font-size: 6.15384615384615384615vw; }
    .h5,
    h5 {
        font-size: 24px; } }

.font-ssp-r {
    font-family: "SweetSansPro-Regular"; }

.font-ssp-m {
    font-family: "SweetSansPro-Medium" !important; }

.font-ssp-b {
    font-family: "SweetSansPro-Bold" !important; }

.font-br-r {
    font-family: "BrownLL-Regular" !important; }

.font-cd-r {
    font-family: "ChronicleDisp-Roman" !important; }

.font-csl-r {
    font-family: "ContraltoSmallLight" !important; }

.font-ps-r {
    font-family: "PPPierSans-Regular" !important; }

.font-pcd-r {
    font-family: "PalmCanyonDriveRegular" !important; }

.font-gn-r {
    font-family: "GardaNova2-Regular" !important; }

.font-ttn-r {
    font-family: "TTNormsProExpandedRegular" !important; }

.font-rec {
    font-family: "Recife"; }

.font-em {
    font-family: "Emilio", sans-serif; }

.font-gro {
    font-family: "Gro", sans-serif; }

.font-ed {
    font-family: "Ed", sans-serif; }

.font-pt-r {
    font-family: "PortraitText"; }

.font-br-i {
    font-family: "BrownInline"; }

.bws-header {
    display: block;
    width: 100%;
    position: fixed;
    top: 20px;
    height: 120px;
    z-index: 10; }

.desktop-fixed-nav .nav-list .bws-logo,
.desktop-nav-regular .nav-list .bws-logo {
    width: 6.68750000000000000000rem;
    padding: 0; }
    .desktop-fixed-nav .nav-list .bws-logo svg,
    .desktop-nav-regular .nav-list .bws-logo svg {
        pointer-events: none; }

.desktop-fixed-nav .nav-list .main-logo,
.desktop-nav-regular .nav-list .main-logo {
    padding: 0 0.68750000000000000000rem; }

.desktop-fixed-nav .nav-list li.main-logo.active a::before,
.desktop-nav-regular .nav-list li.main-logo.active a::before {
    opacity: 0; }

.bws-header .menu-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80px;
    height: 130px;
    border: 1px solid #F1EDE4;
    border-radius: 80px;
    transform: translate(-50%, -54%);
    opacity: 0;
    pointer-events: none; }

.bws-header.closed .nav-list {
    pointer-events: none; }

.desktop-nav-regular {
    display: inline-block;
    width: auto; }

.nav-list.nav-list-left {
    transform: translateX(calc(-100%)); }

.nav-list.nav-list-right {
    left: calc(50% + 40px); }

.nav-list {
    width: auto;
    position: fixed;
    left: calc(50% - 40px);
    top: 20px;
    display: inline-block;
    margin: 0 auto;
    padding: 0 2em;
    z-index: 5; }
    .nav-list li a {
        display: inline-block;
        position: relative; }

.bws-header .bws-logo {
    min-width: 52px; }

.bws-header .nav-list,
.bws-header .nav-list li {
    cursor: auto; }

.bws-header .nav-list li {
    align-items: center;
    display: inline-flex;
    height: 120px;
    padding-left: 1.875rem;
    padding-right: 1.875rem; }

.desktop-nav-regular .main-logo {
    position: fixed;
    z-index: 4;
    left: 50%;
    top: 20px;
    width: 106px;
    height: 120px;
    transform: translateX(-50%); }
    .desktop-nav-regular .main-logo .logo-wrap {
        cursor: auto;
        text-align: center;
        height: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: relative; }
    .desktop-nav-regular .main-logo .logo-img {
        width: auto;
        height: 102px;
        backface-visibility: hidden;
        transform: translateZ(0); }

.bws-header nav a {
    position: relative; }
    .bws-header nav a::before {
        position: absolute;
        content: '';
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 40px;
        margin: auto;
        width: 8px;
        height: 8px;
        background: url(.././svg/icon-nav-active-gold.svg) no-repeat center center;
        opacity: 0;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }

.bws-header nav li.active a {
    color: #C8AA7C; }
    .bws-header nav li.active a::before {
        opacity: 1;
        top: -8px; }

.desktop-fixed-nav .nav-list a,
.desktop-nav-regular .nav-list a,
.mobile-navigation .nav-list-mobile a {
    font-size: clamp(12px, 0.75rem, 14px);
    line-height: 1.50;
    text-transform: uppercase;
    font-weight: 500;
    font-family: "SweetSansPro-Medium"; }

.mobile-fixed-nav {
    width: 130px;
    background: #ffffff;
    border: 1px solid rgba(200, 170, 124, 0.2);
    padding: 5px 6px 5px 6px;
    border-radius: 50px;
    z-index: 11;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between; }
    .mobile-fixed-nav .bws-logo-second {
        margin-left: 14px; }
        .mobile-fixed-nav .bws-logo-second svg {
            width: 37px;
            pointer-events: none; }

.bws-header.fixed.closed {
    pointer-events: none; }
    .bws-header.fixed.closed .bws-logo {
        cursor: pointer;
        pointer-events: all; }

.bws-header.fixed .main-logo .hamburger-icon {
    height: 48px;
    pointer-events: auto; }

.hamburger-icon {
    pointer-events: auto;
    width: 48px;
    height: 0px;
    text-align: center;
    line-height: 0;
    margin-top: 8px;
    pointer-events: none;
    transform: scaleX(0); }
    .hamburger-icon > div {
        display: inline-block;
        line-height: 0;
        width: 48px;
        height: 100%;
        cursor: pointer;
        border-radius: 50%;
        background-color: #C8AA7C;
        position: relative; }
    .hamburger-icon i {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: 30px;
        height: 1px;
        background-color: #ffffff;
        transform: translate(-50%, -50%); }
        .hamburger-icon i:first-of-type {
            transform: translate(-50%, -450%); }
        .hamburger-icon i:nth-of-type(2) {
            transform: translate(-50%, -50%); }
        .hamburger-icon i:last-of-type {
            transform: translate(-50%, 400%); }

.mobile-fixed-nav,
.desktop-fixed-nav {
    position: fixed;
    top: 20px;
    left: 0;
    right: 0;
    margin: auto; }
    .mobile-fixed-nav .bws-logo-second svg,
    .desktop-fixed-nav .bws-logo-second svg {
        height: auto; }

.mobile-fixed-nav .hamburger {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #C8AA7C;
    position: relative; }
    .mobile-fixed-nav .hamburger span {
        width: 30px;
        height: 1px;
        background: #ffffff;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        display: block;
        -moz-transition: 400ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -o-transition: 400ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transition: 400ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 400ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }
        .mobile-fixed-nav .hamburger span:first-of-type {
            top: 18px; }
        .mobile-fixed-nav .hamburger span:nth-of-type(2) {
            top: 24px; }
        .mobile-fixed-nav .hamburger span:last-of-type {
            top: 30px; }

.mobile-fixed-nav .hamburger.active span:first-of-type {
    -moz-transform: translate(0px, 6px) rotate(45deg);
    -o-transform: translate(0px, 6px) rotate(45deg);
    -ms-transform: translate(0px, 6px) rotate(45deg);
    -webkit-transform: translate(0px, 6px) rotate(45deg);
    transform: translate(0px, 6px) rotate(45deg); }

.mobile-fixed-nav .hamburger.active span:nth-of-type(2) {
    -moz-transform: scaleX(0);
    -o-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }

.mobile-fixed-nav .hamburger.active span:last-of-type {
    -moz-transform: translate(0px, -6px) rotate(-45deg);
    -o-transform: translate(0px, -6px) rotate(-45deg);
    -ms-transform: translate(0px, -6px) rotate(-45deg);
    -webkit-transform: translate(0px, -6px) rotate(-45deg);
    transform: translate(0px, -6px) rotate(-45deg); }

.desktop-fixed-nav .desktop-nav-regular ul {
    left: 15px;
    position: relative; }

.desktop-fixed-nav {
    padding: 15px;
    width: 80px;
    pointer-events: none;
    opacity: 0;
    z-index: 8; }
    .desktop-fixed-nav .spacer {
        width: 80px; }
    .desktop-fixed-nav .bws-logo-second,
    .desktop-fixed-nav .hamburger {
        position: relative;
        z-index: 6; }
    .desktop-fixed-nav .hamburger {
        margin: auto; }
    .desktop-fixed-nav .bws-logo-second {
        width: 50px;
        margin-bottom: 10px;
        display: block;
        margin-left: auto;
        margin-right: auto; }
    .desktop-fixed-nav .desktop-nav-regular {
        width: 80px;
        overflow: hidden;
        position: fixed;
        top: 20px;
        margin: auto;
        left: 0;
        right: 0;
        z-index: 5;
        padding: 31px 0;
        background: #ffffff;
        border: 1px solid rgba(200, 170, 124, 0.2);
        border-radius: 50px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
        -webkit-justify-content: space-evenly;
        -moz-justify-content: space-evenly;
        justify-content: space-evenly; }
        .desktop-fixed-nav .desktop-nav-regular ul {
            opacity: 0; }

body.single-portfolio main,
body.portfolio main,
body.page-the-collection main,
body.page-press main,
body.single-press main,
body.page-experiences main,
body.page-events main,
body.team main,
body.page-brand main {
    padding-top: 0; }

body.home .bws-header .nav-list a,
body.single-portfolio .bws-header .nav-list a,
body.portfolio .bws-header .nav-list a,
body.page-the-collection .bws-header .nav-list a,
body.page-press .bws-header .nav-list a,
body.single-press .bws-header .nav-list a,
body.page-experiences .bws-header .nav-list a,
body.page-events .bws-header .nav-list a,
body.team .bws-header .nav-list a,
body.page-brand .bws-header .nav-list a {
    color: #ffffff; }

body.home .bws-header .main-logo path,
body.single-portfolio .bws-header .main-logo path,
body.portfolio .bws-header .main-logo path,
body.page-the-collection .bws-header .main-logo path,
body.page-press .bws-header .main-logo path,
body.single-press .bws-header .main-logo path,
body.page-experiences .bws-header .main-logo path,
body.page-events .bws-header .main-logo path,
body.team .bws-header .main-logo path,
body.page-brand .bws-header .main-logo path {
    fill: #ffffff; }

body.home .bws-header nav a::before,
body.single-portfolio .bws-header nav a::before,
body.portfolio .bws-header nav a::before,
body.page-the-collection .bws-header nav a::before,
body.page-press .bws-header nav a::before,
body.single-press .bws-header nav a::before,
body.page-experiences .bws-header nav a::before,
body.page-events .bws-header nav a::before,
body.team .bws-header nav a::before,
body.page-brand .bws-header nav a::before {
    background: url(.././svg/icon-nav-active-light.svg) no-repeat center center; }

body.home .bws-header.open .desktop-nav-regular li.active a::before,
body.home .bws-header.closed .desktop-nav-regular li.active a::before,
body.single-portfolio .bws-header.open .desktop-nav-regular li.active a::before,
body.single-portfolio .bws-header.closed .desktop-nav-regular li.active a::before,
body.portfolio .bws-header.open .desktop-nav-regular li.active a::before,
body.portfolio .bws-header.closed .desktop-nav-regular li.active a::before,
body.page-the-collection .bws-header.open .desktop-nav-regular li.active a::before,
body.page-the-collection .bws-header.closed .desktop-nav-regular li.active a::before,
body.page-press .bws-header.open .desktop-nav-regular li.active a::before,
body.page-press .bws-header.closed .desktop-nav-regular li.active a::before,
body.single-press .bws-header.open .desktop-nav-regular li.active a::before,
body.single-press .bws-header.closed .desktop-nav-regular li.active a::before,
body.page-experiences .bws-header.open .desktop-nav-regular li.active a::before,
body.page-experiences .bws-header.closed .desktop-nav-regular li.active a::before,
body.page-events .bws-header.open .desktop-nav-regular li.active a::before,
body.page-events .bws-header.closed .desktop-nav-regular li.active a::before,
body.team .bws-header.open .desktop-nav-regular li.active a::before,
body.team .bws-header.closed .desktop-nav-regular li.active a::before,
body.page-brand .bws-header.open .desktop-nav-regular li.active a::before,
body.page-brand .bws-header.closed .desktop-nav-regular li.active a::before {
    background: url(.././svg/icon-nav-active-gold.svg) no-repeat center center; }

body.page-about .desktop-fixed-nav .nav-list li.active a,
body.page-about .desktop-nav-regular .nav-list li.active a,
body.page-events .desktop-fixed-nav .nav-list li.active a,
body.page-events .desktop-nav-regular .nav-list li.active a,
body.page-careers .desktop-fixed-nav .nav-list li.active a,
body.page-careers .desktop-nav-regular .nav-list li.active a {
    color: #8A795E !important; }

body.page-about .desktop-fixed-nav .nav-list li a::before,
body.page-about .desktop-nav-regular .nav-list li a::before,
body.page-events .desktop-fixed-nav .nav-list li a::before,
body.page-events .desktop-nav-regular .nav-list li a::before,
body.page-careers .desktop-fixed-nav .nav-list li a::before,
body.page-careers .desktop-nav-regular .nav-list li a::before {
    background: url(.././svg/icon-nav-active-gold.svg) no-repeat center center; }

body.page-about .bws-header.open .desktop-nav-regular li.active a::before,
body.page-about .bws-header.closed .desktop-nav-regular li.active a::before,
body.page-events .bws-header.open .desktop-nav-regular li.active a::before,
body.page-events .bws-header.closed .desktop-nav-regular li.active a::before,
body.page-careers .bws-header.open .desktop-nav-regular li.active a::before,
body.page-careers .bws-header.closed .desktop-nav-regular li.active a::before {
    background: url(.././svg/icon-nav-active-gold.svg) no-repeat center center; }

.mobile-ios-device .mobile-navigation .btn {
    margin-bottom: calc(var(--sab) + 60px); }

.mobile-navigation {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #C8AA7C;
    z-index: 10;
    pointer-events: none;
    opacity: 0; }
    .mobile-navigation .wrap {
        overflow-x: hidden;
        overflow-y: auto;
        position: relative; }
    .mobile-navigation.active {
        pointer-events: all; }
    .mobile-navigation .mobile-menu-nav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .mobile-navigation .nav-list-mobile {
        padding-top: clamp(140px, 16.85vw, 16.85vw);
        padding-bottom: 80px;
        list-style: none;
        height: 100%; }
        .mobile-navigation .nav-list-mobile li {
            width: 100%;
            border-bottom: 1px solid rgba(255, 255, 255, 0.15);
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center; }
    .mobile-navigation li.active a {
        color: #52471E; }
    .mobile-navigation a {
        color: #ffffff;
        padding: 30px 0; }
    .mobile-navigation .btn {
        width: 82.5rem;
        margin-left: 3.75rem;
        margin-bottom: calc(var(--sab) + 20px); }
    .mobile-navigation .icon-pen-cta {
        width: clamp(20px, 1.25rem, 1.25rem);
        height: clamp(30px, 1.875rem, 1.875rem);
        position: absolute;
        top: 0;
        bottom: 0;
        right: 20px;
        display: block;
        margin: auto; }

@media (min-width: 1025px) {
    .bws-logo:hover,
    .desktop-nav-regular:hover {
        cursor: pointer; }
    .mobile-fixed-nav {
        display: none;
        visibility: hidden; } }

@media (max-width: 1024px) {
    .bws-header {
        display: none;
        visibility: hidden; } }

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box; }

:root {
    --sat: env(safe-area-inset-top);
    --sar: env(safe-area-inset-right);
    --sab: env(safe-area-inset-bottom);
    --sal: env(safe-area-inset-left); }

.hidden-el {
    display: none;
    visibility: hidden; }

.hidden-i {
    display: none !important; }

.home-hero {
    max-height: 1230px;
    overflow: hidden;
    min-height: 100vh; }

.home-hero .row,
.post-portfolio-hero .row {
    max-height: 1230px;
    overflow: hidden;
    min-height: calc(100vh - 120px); }

.intro-bg-white {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background-color: #fff;
    z-index: 12;
    pointer-events: none; }

.ttu {
    text-transform: uppercase; }

.intro-bg-green {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background: linear-gradient(227.45deg, #52471E -0.07%, #52471E 92%);
    z-index: 13;
    pointer-events: none;
    opacity: 1;
    transform-origin: 0 100%;
    transform: scaleY(0); }

.hero-gradient {
    position: relative; }
    .hero-gradient::before {
        position: absolute;
        content: '';
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(180deg, #52471E 0%, rgba(58, 80, 75, 0) 54.53%);
        mix-blend-mode: multiply;
        opacity: 0.75;
        z-index: 1;
        pointer-events: none; }

.iframe-holder {
    background: #2D2A1F;
    z-index: 3;
    position: absolute;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    .iframe-holder video {
        display: block;
        height: 100vh;
        left: 0;
        -o-object-fit: cover;
        object-fit: cover;
        position: absolute;
        top: 0;
        width: 100vw;
        opacity: 0.6; }

.intro-logo,
.intro-logo svg,
.intro-logo svg path {
    will-change: transform; }

.intro-logo {
    position: fixed;
    left: 50%;
    width: 8.33333vw;
    margin-left: auto;
    margin-right: auto;
    pointer-events: none; }
    .intro-logo path {
        fill: #FBF1E6; }
    @media (min-width: 769px) {
        .intro-logo {
            width: 8.33333vw; } }
    @media (max-width: 768px) {
        .intro-logo {
            width: clamp(60px, 12.5vw, 12.5vw); } }

parallax-img {
    display: block; }

.intro-title {
    will-change: transform;
    position: absolute;
    overflow: hidden;
    left: 50%;
    font-family: "PPFGL";
    font-size: 3.125rem;
    font-weight: 400;
    line-height: 1.13;
    color: #FBF1E6;
    margin: 0;
    text-align: center;
    pointer-events: none;
    max-width: 600px;
    width: 100%; }
    @media (max-width: 1024px) {
        .intro-title {
            padding: 0 20px;
            font-size: 40px; } }
    body:not(.home) .intro-title {
        display: none; }
    .intro-title > div:first-of-type,
    .intro-title > div:nth-of-type(2) {
        will-change: transform; }
    .intro-title > div.of-v:first-of-type,
    .intro-title > div.of-v:nth-of-type(2) {
        overflow: visible; }
    .intro-title div {
        margin: 0;
        letter-spacing: 0;
        will-change: transform; }
    .intro-title.active {
        pointer-events: all; }

.of-h {
    overflow: hidden; }
    @media (max-width: 1024px) {
        .of-h {
            overflow: auto;
            overflow-x: hidden; } }

.of-v {
    overflow: visible; }

a {
    color: #2D2A1F;
    text-decoration: none; }

picture {
    display: block;
    width: 100%;
    height: auto; }
    picture img {
        display: block;
        width: 100%; }

main {
    display: block;
    width: 100%; }

#smooth-wrapper {
    overflow: hidden;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    @media (max-width: 1024px) {
        #smooth-wrapper {
            overflow: auto;
            position: relative; } }

.browser-safari {
    scroll-behavior: smooth;
    overflow: auto; }
    @media (max-width: 1024px) {
        .browser-safari {
            overflow-x: hidden; } }

.mobile-ios-device {
    scroll-behavior: auto; }

#smooth-content {
    overflow: visible;
    width: 100%;
    will-change: transform; }

html.has-scroll-smooth {
    overflow: hidden;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0; }
    html.has-scroll-smooth .content,
    html.has-scroll-smooth body {
        overflow: hidden; }

html,
body,
main,
.content {
    overflow-x: hidden; }

.content-wrapper {
    overflow: hidden; }

html {
    overflow: hidden; }
    @media (max-width: 1024px) {
        html {
            overflow: auto; } }

body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased; }

.instagram-cta.hide-el-1,
.btn.hide-el-1,
.hide-el-1 {
    display: none;
    visibility: hidden; }

@media (min-width: 769px) {
    main {
        padding-top: 120px; } }

body.home main {
    padding-top: 0; }

@media (min-width: 769px) {
    body.home main .home-hero {
        padding-top: 120px; } }

.browser-safari #smooth-wrapper.normal-scroll {
    position: relative; }

.browser-safari body {
    overflow-x: hidden; }

.browser-safari #smooth-content {
    overflow-y: auto; }

@media (max-width: 1024px) {
    .browser-safari {
        overflow-x: hidden !important; } }

.icon-pen {
    position: fixed;
    top: 42px;
    right: 60px;
    border-radius: 50%;
    z-index: 10;
    opacity: 0; }
    @media (max-width: 1024px) {
        .icon-pen {
            top: 20px;
            right: 20px; } }
    .icon-pen a::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #C8AA7C;
        z-index: -1;
        border-radius: 50px;
        -moz-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -o-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }
    .icon-pen a {
        line-height: 1em;
        padding: 12px 18px;
        display: flex;
        align-items: center;
        position: relative; }
    .icon-pen svg {
        height: 36px;
        pointer-events: none; }
    .icon-pen span {
        white-space: nowrap;
        padding: 0 2em 0 1em;
        font-size: 12px;
        color: #ffffff;
        font-family: "SweetSansPro-Bold";
        text-transform: uppercase;
        overflow: hidden; }
    @media (min-width: 1025px) {
        .icon-pen:hover {
            cursor: pointer; }
            .icon-pen:hover a::before {
                -moz-transform: scale(1.1, 1.15);
                -o-transform: scale(1.1, 1.15);
                -ms-transform: scale(1.1, 1.15);
                -webkit-transform: scale(1.1, 1.15);
                transform: scale(1.1, 1.15); } }
    @media (min-width: 769px) {
        .icon-pen svg {
            width: 24px; } }
    @media (max-width: 768px) {
        .icon-pen {
            width: 60px;
            height: 60px; }
            .icon-pen a {
                width: 60px;
                height: 60px;
                padding: 20px; } }

[class^=icon-illustration-] {
    position: absolute;
    height: auto;
    pointer-events: none;
    z-index: -1; }
    [class^=icon-illustration-] img {
        opacity: 0.5; }

.page-to-page {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(227.45deg, #6B7C78 -0.07%, #52471E 92%);
    z-index: 12;
    pointer-events: none;
    opacity: 0 !important; }
    .page-to-page.active {
        opacity: 0; }
    .page-to-page svg {
        max-width: 106px;
        margin: 0 auto 40px;
        height: auto; }
    .page-to-page .row {
        text-align: center;
        height: 100vh;
        opacity: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: none;
        flex-wrap: nowrap; }
    .page-to-page h1 {
        color: #FBF1E6; }

.about-events .pattern,
.about-team .pattern {
    z-index: -1; }

.card {
    border: 1px solid rgba(200, 170, 124, 0.2);
    width: 100%;
    background: #ffffff;
    z-index: 2; }
    .card.p-1 {
        padding: 4.375rem 3.75rem; }
    .card.p-2 {
        padding-left: 4.5rem;
        padding-right: 4.5rem;
        padding-top: clamp(40px, 3.75rem, 3.75rem);
        padding-bottom: clamp(40px, 3.75rem, 3.75rem);
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    @media (min-width: 769px) {
        .card p + .btn {
            margin-top: 40px; } }
    @media (max-width: 768px) {
        .card.p-2 {
            padding: 50px 16.875rem; }
            .card.p-2 .icon-ligature {
                margin-bottom: 30px; }
        .card.p-1 {
            padding: 70px 7.5rem; }
        .card p + .btn {
            margin-top: 30px; } }

.image-and-card {
    position: relative;
    margin-bottom: 60px; }
    .image-and-card .card {
        position: absolute;
        background: #FBF1E6;
        margin-left: auto;
        margin-right: auto;
        bottom: -60px;
        z-index: 2;
        border: none;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .image-and-card h2 {
        margin-top: 20px;
        margin-bottom: 30px; }
    .image-and-card picture {
        position: relative;
        padding-bottom: 77.95vh;
        max-height: 750px;
        overflow: hidden; }
        .image-and-card picture img {
            position: absolute;
            object-fit: cover;
            width: 100%;
            height: 100%;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0; }
    .image-and-card .subtitle {
        margin-bottom: 20px;
        text-align: center; }
    .image-and-card h2 {
        margin-bottom: 30px; }
    .image-and-card .card.p-1 {
        padding: 3.47vw 4.16667vw; }
    @media (max-width: 1024px) and (min-width: 769px) {
        .image-and-card picture {
            padding-bottom: 58.59vw;
            max-height: 600px; } }
    @media (min-width: 769px) {
        .image-and-card .card {
            width: 33.33333vw; } }
    @media (max-width: 768px) {
        .image-and-card picture {
            padding-bottom: 91.15vw;
            max-height: 80vh;
            min-height: 400px; }
        .image-and-card h2 {
            margin-top: 10px;
            margin-bottom: 20px; }
        .image-and-card .card {
            width: 91.66667vw; }
            .image-and-card .card.p-1 {
                padding: 30px; } }

.press-hero,
.post-portfolio-hero,
.careers-cta,
.careers-cta [class^=g-],
.team-hero,
.post-press-hero,
.portfolio-hero,
.team-hero [class^=g-],
.about-team [class^=g-],
.image-and-card .row,
.image-and-card [class^=g-] {
    position: relative; }

.instagram-cta {
    text-align: center; }
    .instagram-cta .subtitle {
        margin-bottom: 0;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
    .instagram-cta .btn.regular {
        position: relative; }
    .instagram-cta .item-insta {
        position: relative;
        padding-right: 3.75rem;
        user-select: none; }
        .instagram-cta .item-insta img {
            display: block;
            width: 100%;
            height: auto; }
    .instagram-cta .wrapper {
        position: relative; }
    .instagram-cta .illustration-insta {
        position: absolute;
        top: -2%;
        bottom: 0;
        left: -4.16667vw;
        margin: auto; }
        .instagram-cta .illustration-insta img {
            opacity: 0.5; }
    .instagram-cta .horizontal-image-scroller {
        margin-top: 30px;
        position: relative; }
        .instagram-cta .horizontal-image-scroller:hover {
            cursor: grab; }
    .instagram-cta .inner-wrapper {
        padding-left: 3.75rem; }
    .instagram-cta .btn {
        position: absolute;
        left: 0;
        right: 0;
        z-index: 3;
        top: 0;
        bottom: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex; }
        .instagram-cta .btn::before {
            z-index: -1; }
    @media (min-width: 769px) {
        .instagram-cta .btn {
            margin: auto; } }
    @media (max-width: 768px) {
        .instagram-cta .inner-wrapper {
            margin-bottom: clamp(65px, 15.2625rem, 15.2625rem); }
        .instagram-cta .btn {
            margin: auto auto 0; } }

.post-portfolio-hero [class^=g-],
.portfolio-hero [class^=g-],
.post-press-hero [class^=g-],
.team-hero [class^=g-] {
    z-index: 1;
    text-align: center; }

.post-portfolio-hero .c-120,
.portfolio-hero .c-120,
.post-press-hero .c-120,
.team-hero .c-120 {
    margin-bottom: 30px; }

.post-press-hero,
.team-hero {
    background: #2D2A1F; }

.background-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.6;
    z-index: 0; }
    .background-image img {
        object-fit: cover;
        height: 100%; }

.sub-page-hero h1,
.sub-page-hero p {
    text-align: center; }

.sub-page-hero p {
    margin-left: auto;
    margin-right: auto; }

.sub-page-hero h1 {
    margin-bottom: 30px; }

.sub-page-hero#events-hero .icon-illustration-pine-cone-events {
    z-index: -1; }

@media (max-width: 1024px) and (min-width: 769px) {
    .sub-page-hero [class^=g-] {
        width: 52.5rem; } }

@media (min-width: 769px) {
    .sub-page-hero {
        padding-top: clamp(100px, 7.5rem, 7.5rem);
        padding-bottom: clamp(120px, 7.5rem, 7.5rem); }
        .sub-page-hero#events-hero .icon-illustration-pine-cone-events {
            top: clamp(-75px, -7.5rem, -7.5rem);
            left: 58.125rem; } }

@media (max-width: 768px) {
    .sub-page-hero {
        margin-bottom: 40px; }
        .sub-page-hero#events-hero .icon-illustration-pine-cone-events {
            top: -15rem;
            width: 112.5rem;
            opacity: 0.3; } }

@media (max-width: 768px) and (min-width: 577px) {
    .sub-page-hero {
        padding-top: clamp(150px, 31.28205vw, 31.28205vw); } }

@media (max-width: 576px) {
    .sub-page-hero {
        padding-top: clamp(150px, 51.28205vw, 51.28205vw); } }

.page-error-section {
    width: 100%;
    height: 80vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .page-error-section h1 {
        margin-bottom: 20px; }

.trusted-by,
.home-hero,
.core-values,
.about-hero {
    padding-top: clamp(100px, 10rem, 180px); }

.sub-team-list,
.instagram-cta {
    padding-top: clamp(80px, 7.5rem, 120px); }

.portfolio-gallery-images {
    padding-bottom: clamp(80px, 8.33vw, 140px); }

.careers-values,
.load-more-section,
.portfolio-related,
.events-related,
.events-related,
.team-list-section,
.core-values,
.core-values {
    padding-bottom: clamp(100px, 10rem, 180px); }

.instagram-cta {
    margin-bottom: clamp(80px, 8.333vw, 100px); }

.contact-hero,
.donate-hero,
.icon-and-copy {
    padding-bottom: clamp(100px, 10rem, 180px); }

.half-tan,
.about-events .row:first-of-type {
    padding-top: 74px;
    padding-bottom: 74px; }

@media (min-width: 1025px) {
    .home-hero {
        padding-top: clamp(100px, 5.625rem, 5.625rem); } }

@media (max-width: 1024px) {
    html {
        -webkit-tap-highlight-color: transparent; } }

@media (max-width: 1024px) and (min-width: 769px) {
    .home-hero {
        padding-top: 50px; } }

@media (min-width: 769px) {
    .post-events-related-section,
    .post-press-related-section {
        padding-bottom: clamp(100px, 7.5rem, 140px); }
    .portfolio-hero {
        padding-top: clamp(120px, 15.625rem, 200px); }
    .team-hero {
        padding-top: clamp(120px, 15.625rem, 280px); }
    .portfolio-introduction {
        padding-top: clamp(100px, 5.56vw, 120px);
        padding-bottom: clamp(100px, 5.56vw, 120px); }
    .contact-cta,
    .icon-and-copy {
        padding-top: clamp(100px, 10rem, 120px); }
    .about-events .bg-cream-before::before {
        left: 0; }
    .half-tan .bg-cream-before,
    .half-tan .bg-dark-before,
    .half-tan .bg-sand-before,
    .about-events .bg-cream-before,
    .about-events .bg-dark-before,
    .about-events .bg-sand-before {
        position: relative; }
    .half-tan.bg-cream-before::before,
    .about-events .bg-cream-before::before {
        position: absolute;
        content: '';
        top: 0;
        bottom: 0;
        background: #F3EEE3;
        z-index: -1;
        height: 100%; }
    .half-tan.bg-dark-before::before,
    .about-team .bg-dark-before::before {
        background: #413D32;
        position: absolute;
        content: '';
        top: 0;
        bottom: 0;
        z-index: -1;
        height: 100%; }
    .half-tan.bg-sand-before::before,
    .about-team .bg-sand-before::before {
        background: #8A795E;
        position: absolute;
        content: '';
        top: 0;
        bottom: 0;
        z-index: -1;
        height: 100%; } }

@media (max-width: 768px) {
    .portfolio-introduction {
        padding-top: clamp(100px, 10rem, 10rem);
        padding-bottom: clamp(100px, 10rem, 10rem); } }

.bws-footer {
    background: #413D32;
    color: #FBF1E6;
    position: relative;
    overflow: hidden; }
    .bws-footer .icon-arrow path {
        fill: #413D32 !important;
        stroke: #413D32 !important; }
    .bws-footer .xxs-small,
    .bws-footer .footer-nav-regular a {
        text-transform: uppercase;
        letter-spacing: 2px; }
    .bws-footer .social-list-large li {
        height: 100%; }
    .bws-footer .g-6,
    .bws-footer .form-container {
        padding-left: 3.75rem;
        padding-right: 3.75rem; }
    .bws-footer .footer-nav-regular {
        display: flex;
        gap: 56px;
        text-align: left;
        list-style: none;
        width: 100%; }
        .bws-footer .footer-nav-regular a {
            font-size: clamp(12px, 0.75rem, 0.75rem);
            line-height: 1.50000000000000000000;
            font-family: "SweetSansPro-Regular";
            font-weight: 500; }
    .bws-footer .g-12 {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        -webkit-align-items: flex-start;
        -moz-align-items: flex-start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        justify-content: space-between;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .bws-footer .inline-link.light {
        background-image: -webkit-linear-gradient(transparent 2px, #FBF1E6 0, #FBF1E6 3px, transparent 0), -webkit-linear-gradient(transparent 2px, transparent 0, transparent 3px, transparent 0);
        background-image: -o-linear-gradient(transparent 2px, #FBF1E6 2px, #FBF1E6 3px, transparent 3px), -o-linear-gradient(transparent 2px, transparent 2px, transparent 3px, transparent 3px);
        background-image: linear-gradient(transparent 2px, #FBF1E6 0, #FBF1E6 3px, transparent 0), linear-gradient(transparent 2px, transparent 0, transparent 3px, transparent 0); }
    .bws-footer a {
        color: #FBF1E6; }
    .bws-footer .bs::before {
        background: transparent;
        -moz-transform: translateY(105%);
        -o-transform: translateY(105%);
        -ms-transform: translateY(105%);
        -webkit-transform: translateY(105%);
        transform: translateY(105%); }
    .bws-footer [class^=g-]:first-of-type {
        text-align: center; }
    .bws-footer [class^=g-]:last-of-type {
        position: relative; }
        .bws-footer [class^=g-]:last-of-type .xxs-small + p {
            margin-bottom: 30px; }
        .bws-footer [class^=g-]:last-of-type .xs-small {
            font-family: "Violet-JW-Serif-Regular";
            font-weight: 400; }
    .bws-footer .footer-logo {
        width: 132px;
        margin-left: auto;
        margin-right: auto;
        height: auto; }
    .bws-footer address + .copyright,
    .bws-footer .footer-logo-link {
        margin-bottom: clamp(40px, 4.375rem, 4.375rem); }
    .bws-footer address {
        line-height: 1.4 !important;
        margin-bottom: 20px; }
    .bws-footer address,
    .bws-footer .inline-link {
        font-size: clamp(16px, 1rem, 1rem);
        line-height: 1.12500000000000000000;
        font-family: "Violet-JW-Serif-Regular";
        font-weight: 400;
        font-style: normal; }
    .bws-footer .copyright li,
    .bws-footer .copyright li p {
        font-size: clamp(12px, 0.75rem, 0.75rem);
        line-height: clamp(16px, 1rem, 1rem);
        font-family: "SweetSansPro-Regular";
        font-weight: 400;
        letter-spacing: 0.1em;
        text-transform: uppercase; }
    .bws-footer .copyright {
        margin-top: clamp(40px, 4.375rem, 4.375rem);
        list-style: none; }
        .bws-footer .copyright li + li {
            margin-top: 5px; }
    .bws-footer .g-18 .social-list-large,
    .bws-footer .social-list-large {
        -webkit-box-direction: normal;
        -webkit-box-orient: horizontal;
        -webkit-flex-direction: row;
        -moz-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row; }
        .bws-footer .g-18 .social-list-large a,
        .bws-footer .social-list-large a {
            width: 100%; }
        .bws-footer .g-18 .social-list-large li:last-of-type p,
        .bws-footer .social-list-large li:last-of-type p {
            width: 100%;
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center; }
    .bws-footer .right {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        justify-content: space-between;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .bws-footer .footer-logo-link {
        border-radius: 50%;
        display: inline-block; }
    .bws-footer .form-container {
        height: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center; }
    @media (max-width: 1100px) and (min-width: 769px) {
        .bws-footer .footer-nav-regular {
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
            .bws-footer .footer-nav-regular a {
                margin-bottom: 5px; }
        .bws-footer .right .form-row p {
            text-align: left; } }
    @media (max-width: 1024px) {
        .bws-footer .form-container .submit-wrapper {
            opacity: 1; } }
    @media (max-width: 1024px) and (min-width: 769px) {
        .bws-footer > .row .g-6:first-of-type {
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            -webkit-justify-content: space-between;
            -moz-justify-content: space-between;
            justify-content: space-between;
            -webkit-box-direction: normal;
            -webkit-box-orient: vertical;
            -webkit-flex-direction: column;
            -moz-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column; }
        .bws-footer .link.bs {
            padding-right: 10px;
            padding-left: 10px;
            text-align: center; } }
    @media (min-width: 769px) {
        .bws-footer .form-response .inner {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center; }
        .bws-footer .footer-nav-regular,
        .bws-footer > .row .g-6:first-of-type,
        .bws-footer [class^=g-]:last-of-type .g-6,
        .bws-footer .form-container {
            padding-top: clamp(60px, 3.75rem, 3.75rem);
            padding-bottom: clamp(60px, 3.75rem, 3.75rem); }
        .bws-footer [class^=g-]:last-of-type .xxs-small {
            padding-bottom: clamp(40px, 3.125rem, 3.125rem); }
        .bws-footer [class^=g-]:last-of-type .top,
        .bws-footer .footer-nav-regular {
            padding-bottom: clamp(60px, 3.75rem, 3.75rem); }
        .bws-footer .footer-nav-regular {
            padding-left: 50px;
            padding-right: 50px; }
        .bws-footer .g-18 .social-list-large,
        .bws-footer .social-list-large {
            -webkit-box-pack: justify;
            -ms-flex-pack: justify;
            -webkit-justify-content: space-between;
            -moz-justify-content: space-between;
            justify-content: space-between; }
            .bws-footer .g-18 .social-list-large li,
            .bws-footer .social-list-large li {
                width: 16.66667vw; }
                .bws-footer .g-18 .social-list-large li:last-of-type,
                .bws-footer .social-list-large li:last-of-type {
                    width: 25vw; }
        .bws-footer .footer-nav-regular::before {
            top: 100%;
            left: 1px;
            width: calc(100% - 2px); }
        .bws-footer .footer-nav-regular::before,
        .bws-footer .social-list-large::before {
            left: 1px;
            height: 1px; }
        .bws-footer .footer-nav-regular,
        .bws-footer .social-list-large,
        .bws-footer .right {
            position: relative; }
        .bws-footer .footer-nav-regular::before,
        .bws-footer .social-list-large::after,
        .bws-footer .social-list-large::before,
        .bws-footer .right::before,
        .bws-footer .right::after {
            position: absolute;
            content: '';
            right: 0;
            bottom: 0;
            background: rgba(251, 241, 230, 0.15); }
        .bws-footer .social-list-large::before,
        .bws-footer .right::before {
            top: 0; }
        .bws-footer .social-list-large::before,
        .bws-footer .social-list-large::after,
        .bws-footer .right::before,
        .bws-footer .right::after {
            width: 100%; }
        .bws-footer .right::before, .bws-footer .right::after {
            width: 1px;
            height: 100%; }
        .bws-footer .right::before {
            left: 0; }
        .bws-footer .right::after {
            left: 45rem; } }
    @media (max-width: 768px) {
        .bws-footer .right {
            order: 1; }
        .bws-footer .g-6 {
            order: 2; }
        .bws-footer .right .g-6 {
            text-align: center; }
            .bws-footer .right .g-6 .xxs-small {
                margin-bottom: 30px; }
        .bws-footer .form-container .submit-wrapper {
            right: 1px; }
        .bws-footer .social-list-large {
            position: relative;
            width: 100%; }
            .bws-footer .social-list-large::before, .bws-footer .social-list-large::after {
                position: absolute;
                content: '';
                display: block;
                left: 0;
                right: 0;
                margin: auto;
                background: rgba(251, 241, 230, 0.15);
                width: 100%;
                height: 1px; }
            .bws-footer .social-list-large::before {
                top: 0; }
            .bws-footer .social-list-large::after {
                bottom: 0; }
            .bws-footer .social-list-large li {
                width: 33.33333vw; }
                .bws-footer .social-list-large li:last-of-type {
                    display: none;
                    visibility: hidden; }
                .bws-footer .social-list-large li a {
                    padding-bottom: 126px; }
        .bws-footer .bs-by {
            padding-top: 40px;
            padding-bottom: 60px; }
        .bws-footer .g-6:first-of-type,
        .bws-footer .right .g-6,
        .bws-footer .form-container {
            padding-top: 40px; }
        .bws-footer .right .g-6,
        .bws-footer .form-container {
            padding-bottom: 40px; }
        .bws-footer .form-container {
            border-bottom: 1px solid rgba(251, 241, 230, 0.15);
            text-align: center; }
            .bws-footer .form-container .form-row {
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                -webkit-justify-content: center;
                -moz-justify-content: center;
                justify-content: center; }
            .bws-footer .form-container .subtitle {
                letter-spacing: 0;
                width: 63.75rem;
                margin-left: auto;
                margin-right: auto; }
        .bws-footer .footer-nav-regular {
            display: flex;
            gap: 0;
            padding-top: 25px; }
            .bws-footer .footer-nav-regular a {
                width: 100%;
                padding: 15px !important;
                border-bottom: 1px solid rgba(251, 241, 230, 0.15);
                text-align: center; }
        .bws-footer address {
            line-height: 20px; }
        .bws-footer .bs-by {
            line-height: 16px; }
            .bws-footer .bs-by a {
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                -webkit-justify-content: center;
                -moz-justify-content: center;
                justify-content: center; } }
    @media (max-width: 768px) and (min-width: 576px) {
        .bws-footer .footer-logo {
            width: 140px; } }
    @media (max-width: 576px) {
        .bws-footer .footer-logo {
            width: 120px; } }

.social-list-large {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -ms-flex-pack: distribute;
    -webkit-justify-content: space-around;
    -moz-justify-content: space-around;
    justify-content: space-around;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap; }
    .social-list-large li {
        position: relative;
        overflow: hidden;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
        .social-list-large li:last-of-type {
            border-right: 1px solid transparent; }
        .social-list-large li svg {
            position: absolute;
            z-index: 3;
            top: 0;
            bottom: 0;
            right: 0;
            left: 0;
            display: block;
            margin: auto; }
        .social-list-large li a {
            height: 100%;
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center; }
            .social-list-large li a::before {
                content: "";
                display: block;
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
                background-color: #C8AA7C;
                z-index: 1;
                -moz-transform: translateY(104%);
                -o-transform: translateY(104%);
                -ms-transform: translateY(104%);
                -webkit-transform: translateY(104%);
                transform: translateY(104%);
                -moz-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
                -o-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
                -webkit-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
                transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }
            @media (min-width: 1025px) {
                .social-list-large li a:hover::before {
                    -moz-transform: translateY(0);
                    -o-transform: translateY(0);
                    -ms-transform: translateY(0);
                    -webkit-transform: translateY(0);
                    transform: translateY(0); } }
        .social-list-large li:nth-of-type(2)::before, .social-list-large li:nth-of-type(3)::before {
            position: absolute;
            content: '';
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(251, 241, 230, 0.15);
            width: 1px;
            height: 100%;
            right: 0; }
        .social-list-large li.instagram svg {
            width: 22px;
            height: 22px; }
        .social-list-large li.linkedin svg {
            width: 20px;
            height: 20px; }
        .social-list-large li.email svg {
            width: 28px;
            height: 19px; }

.bs {
    display: inline-block;
    position: relative;
    line-height: clamp(16px, 1rem, 1rem); }

.bs-by {
    color: #FBF1E6;
    font-size: clamp(10px, 0.625rem, 0.625rem);
    font-family: "SweetSansPro-Regular";
    font-weight: 500;
    text-transform: uppercase;
    line-height: 2.2; }
    .bs-by a {
        color: #FBF1E6; }

.bs span {
    letter-spacing: 0.1em;
    transition: all 400ms cubic-bezier(0.23, 1, 0.32, 1);
    will-change: transform;
    display: inline-block;
    z-index: 2; }

.bs-logo {
    width: 2.7em;
    height: 2.7em;
    position: absolute;
    top: 50%;
    right: 4em;
    transform: translateY(-50%) rotate(90deg) scale(0); }

.bs-logo svg {
    width: 100%;
    height: auto; }
    .bs-logo svg path {
        fill: #FBF1E6; }

.buzz-col {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    -webkit-align-items: flex-end;
    -moz-align-items: flex-end;
    align-items: flex-end;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    justify-content: flex-end; }
    .buzz-col .bs-by {
        top: -60px;
        position: relative;
        font-size: 14px;
        line-height: 24px; }
        .buzz-col .bs-by a {
            margin-left: 3px; }

@media (min-width: 1025px) {
    .bs:hover .label {
        transform: translateY(150%);
        opacity: 0; }
    .bs:hover .bs-logo {
        transform: translateY(-50%) rotate(0deg) scale(1); } }

@media (max-width: 768px) {
    footer input {
        line-height: 60px; }
    footer input,
    footer .submit-wrapper {
        padding-left: 20px;
        padding-right: 20px; }
    footer .submit-wrapper .icon-arrow {
        right: 0; } }

@media (min-width: 769px) {
    .social-list-large a {
        padding-bottom: clamp(40px, 7.875rem, 7.875rem); }
    .bs-by a {
        padding-top: clamp(40px, 3.4375rem, 3.4375rem);
        padding-bottom: clamp(40px, 3.4375rem, 3.4375rem); } }

input {
    width: 100%;
    font-size: 18px;
    line-height: 1.400;
    font-family: "Violet-JW-Serif-Regular";
    font-weight: 400;
    background: #ffffff;
    line-height: 60px;
    border: none;
    color: rgba(45, 42, 31, 0.5); }

select {
    appearance: none;
    -webkit-appearance: none; }

#contact-page-form.regular select,
#contact-page-form.regular input,
#contact-page-form.regular textarea {
    color: #2D2A1F; }

#contact-page-form.regular select.first-click {
    color: rgba(45, 42, 31, 0.5); }

textarea,
select {
    line-height: 60px;
    min-height: 60px;
    font-size: 18px;
    line-height: 1.40000000000000000000;
    font-family: "Violet-JW-Serif-Regular";
    font-weight: 400;
    border: 1px solid #ffffff;
    width: 100%;
    color: rgba(45, 42, 31, 0.5); }

textarea {
    min-height: 160px; }

label {
    text-transform: uppercase;
    font-size: clamp(14px, 0.875rem, 0.875rem);
    line-height: 1.20000000000000000000;
    font-family: "SweetSansPro-Regular";
    font-weight: 500;
    letter-spacing: 3px;
    margin-bottom: 15px;
    display: block; }

footer input[type=email] {
    background: #FBF1E6;
    width: calc(100% - 60px); }

footer .submit-wrapper {
    position: relative;
    line-height: 70px;
    width: 60px;
    right: 0;
    top: 0;
    bottom: 0;
    background: #FBF1E6; }
    footer .submit-wrapper i {
        width: 32px;
        height: 20px;
        max-height: 20px;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        position: absolute;
        bottom: 0;
        opacity: 0;
        -moz-transition: 500ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
        -o-transition: 500ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transition: 500ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 500ms opacity cubic-bezier(0.165, 0.84, 0.44, 1); }
    footer .submit-wrapper svg {
        position: absolute;
        top: 0;
        left: 0; }
    footer .submit-wrapper svg path,
    footer .submit-wrapper .icon-arrow path {
        fill: #413D32;
        stroke: #413D32; }

footer input,
footer .submit-wrapper {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex; }

footer .subtitle {
    letter-spacing: 0;
    margin-top: 15px; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    border: none;
    -webkit-text-fill-color: rgba(45, 42, 31, 0.5);
    -webkit-box-shadow: 0 0 0px 1000px #FBF1E6 inset;
    transition: background-color 5000s ease-in-out 0s; }

#contact-page-form input:-webkit-autofill,
#contact-page-form input:-webkit-autofill:hover,
#contact-page-form input:-webkit-autofill:focus,
#contact-page-form textarea:-webkit-autofill,
#contact-page-form textarea:-webkit-autofill:hover,
#contact-page-form textarea:-webkit-autofill:focus,
#contact-page-form select:-webkit-autofill,
#contact-page-form select:-webkit-autofill:hover,
#contact-page-form select:-webkit-autofill:focus {
    border: none;
    -webkit-text-fill-color: rgba(45, 42, 31, 0.5);
    -webkit-box-shadow: 0 0 0px 1000px #ffffff inset;
    transition: background-color 5000s ease-in-out 0s; }

.form-row.group {
    display: grid;
    gap: 20px; }

.submit-wrapper {
    position: relative; }
    .submit-wrapper input[type=submit] {
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        opacity: 0;
        z-index: 2; }
    .submit-wrapper .icon-arrow {
        width: clamp(32px, 2rem, 2rem);
        height: clamp(16px, 1rem, 1rem);
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        right: 15px;
        bottom: 0;
        margin: auto; }
    @media (min-width: 1025px) {
        .submit-wrapper:hover {
            cursor: pointer; } }

.form-row {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .form-row.show-submit-arrow .submit-wrapper i {
        opacity: 1; }

.form-row.select {
    position: relative; }
    .form-row.select::before {
        position: absolute;
        content: '';
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        background: url(.././svg/icon-select-dark.svg) no-repeat center center;
        background-size: 12px 10px;
        background-position: calc(100% - 30px);
        pointer-events: none; }

.form-response {
    position: relative;
    overflow: hidden; }
    .form-response .success,
    .form-response .failed {
        height: 0;
        position: relative;
        overflow: hidden; }
        .form-response .success .inner,
        .form-response .failed .inner {
            padding: 0;
            opacity: 0;
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            -webkit-justify-content: flex-start;
            -moz-justify-content: flex-start;
            justify-content: flex-start; }
        .form-response .success p,
        .form-response .failed p {
            font-size: 18px;
            line-height: 24px; }
        .form-response .success svg,
        .form-response .failed svg {
            width: 60px;
            height: 60px;
            display: inline-block;
            margin-right: 20px; }
        .form-response .success p,
        .form-response .failed p {
            display: inline-block; }

.submit-wrapper-regular {
    position: relative;
    display: inline-block; }
    .submit-wrapper-regular input[type=submit] {
        position: absolute;
        width: 100%;
        height: 100%;
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        z-index: 2;
        opacity: 0; }
    .submit-wrapper-regular .btn {
        pointer-events: none; }
    .submit-wrapper-regular .gradient-green.light .text {
        color: #ffffff; }
    .submit-wrapper-regular .gradient-green {
        color: #241F21 !important; }
        .submit-wrapper-regular .gradient-green::before {
            background: #C8AA7C !important; }
        .submit-wrapper-regular .gradient-green .text {
            transform-origin: 0% 100%; }
        .submit-wrapper-regular .gradient-green svg path,
        .submit-wrapper-regular .gradient-green .icon-arrow path {
            fill: #241F21;
            stroke: #241F21; }
        .submit-wrapper-regular .gradient-green .text {
            color: #241F21 !important; }
        .submit-wrapper-regular .gradient-green .text, .submit-wrapper-regular .gradient-green::before {
            -moz-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
            -o-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
            -webkit-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
            transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }

.form-container {
    padding: 3.75rem; }
    .form-container.light-cream {
        background: #F3EEE3; }
    @media (min-width: 769px) {
        .form-container .form-row {
            margin-bottom: 30px; } }
    @media (max-width: 768px) {
        .form-container .form-row {
            margin-bottom: 10px; } }

#contact-page-form,
#donate-page-form,
#sponsorship-page-form {
    position: relative;
    margin-bottom: 30px;
    padding: 60px;
    width: 42%; }
    @media (max-width: 1024px) {
        #contact-page-form,
        #donate-page-form,
        #sponsorship-page-form {
            padding: 50px 20px;
            width: 100%; } }
    #contact-page-form h2, #contact-page-form h3, #contact-page-form h4,
    #donate-page-form h2,
    #donate-page-form h3,
    #donate-page-form h4,
    #sponsorship-page-form h2,
    #sponsorship-page-form h3,
    #sponsorship-page-form h4 {
        text-align: left; }
    #contact-page-form .submit,
    #contact-page-form .textarea,
    #donate-page-form .submit,
    #donate-page-form .textarea,
    #sponsorship-page-form .submit,
    #sponsorship-page-form .textarea {
        margin-bottom: 0; }
    #contact-page-form .submit,
    #donate-page-form .submit,
    #sponsorship-page-form .submit {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        display: block;
        margin: auto;
        -moz-transform: translateY(50%);
        -o-transform: translateY(50%);
        -ms-transform: translateY(50%);
        -webkit-transform: translateY(50%);
        transform: translateY(50%); }
    @media (max-width: 768px) {
        #contact-page-form,
        #donate-page-form,
        #sponsorship-page-form {
            padding-top: 60px; }
            #contact-page-form .textarea,
            #donate-page-form .textarea,
            #sponsorship-page-form .textarea {
                margin-bottom: 50px; } }

#contact-page-form .form-response .success .inner,
#contact-page-form .form-response .failed .inner {
    padding-top: 30px;
    padding-bottom: 30px; }

#contact-page-form .form-response .success svg circle {
    stroke: #52471E; }

#contact-page-form .form-response .success svg path {
    fill: #52471E; }

#contact-page-form .form-response .inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    #contact-page-form .form-response .inner svg {
        margin: 0 0 20px 0; }

@media (min-width: 1025px) {
    .submit-wrapper-regular:hover .btn::before {
        -moz-transform: scale(1.1, 1.15);
        -o-transform: scale(1.1, 1.15);
        -ms-transform: scale(1.1, 1.15);
        -webkit-transform: scale(1.1, 1.15);
        transform: scale(1.1, 1.15); }
    .submit-wrapper-regular:hover .text {
        -moz-transform: skew(-10deg);
        -o-transform: skew(-10deg);
        -ms-transform: skew(-10deg);
        -webkit-transform: skew(-10deg);
        transform: skew(-10deg); }
    .submit-wrapper-regular input[type=submit]:hover,
    .submit-wrapper input[type=submit]:hover {
        cursor: pointer; } }

@media (max-width: 1024px) {
    footer .submit-wrapper i {
        opacity: 1; } }

@media (min-width: 769px) {
    input[type="email"]::placeholder,
    input[type="tel"]::placeholder,
    textarea::placeholder,
    select::placeholder,
    input[type="text"]::placeholder {
        color: rgba(45, 42, 31, 0.5);
        font-size: 18px;
        line-height: 1.4;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    input[type="email"]::-moz-placeholder,
    input[type="tel"]::-moz-placeholder,
    textarea::-moz-placeholder,
    select::-moz-placeholder,
    input[type="text"]::-moz-placeholder {
        color: rgba(45, 42, 31, 0.5);
        font-size: 18px;
        line-height: 1.4;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    input[type="email"]:-ms-input-placeholder,
    input[type="tel"]:-ms-input-placeholder,
    textarea:-ms-input-placeholder,
    select:-ms-input-placeholder,
    input[type="text"]:-ms-input-placeholder {
        color: rgba(45, 42, 31, 0.5);
        font-size: 18px;
        line-height: 1.4;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    input[type="email"]::-webkit-input-placeholder,
    input[type="tel"]::-webkit-input-placeholder,
    textarea::-webkit-input-placeholder,
    select::-webkit-input-placeholder,
    input[type="text"]::-webkit-input-placeholder {
        color: rgba(45, 42, 31, 0.5);
        font-size: 18px;
        line-height: 1.4;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    input[type="email"]:focus::-webkit-input-placeholder,
    input[type="tel"]:focus::-webkit-input-placeholder,
    textarea:focus::-webkit-input-placeholder,
    select:focus::-webkit-input-placeholder,
    input[type="text"]:focus::-webkit-input-placeholder {
        opacity: 0; }
    input[type="email"]:focus,
    input[type="tel"]:focus,
    textarea:focus,
    select:focus,
    input[type="text"]:focus {
        outline: none; }
    select,
    input {
        padding: 0 30px; }
    textarea {
        padding: 20px 30px; }
    footer .form-response .inner {
        text-align: left; } }

@media (max-width: 768px) {
    #contact-page-form .form-response,
    footer .form-response {
        width: 100%; }
        #contact-page-form .form-response .inner,
        footer .form-response .inner {
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-direction: normal;
            -webkit-box-orient: vertical;
            -webkit-flex-direction: column;
            -moz-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column; }
            #contact-page-form .form-response .inner svg,
            footer .form-response .inner svg {
                margin: 0 0 20px; }
    input[type="email"]::placeholder,
    input[type="tel"]::placeholder,
    textarea::placeholder,
    select::placeholder,
    input[type="text"]::placeholder {
        color: rgba(45, 42, 31, 0.5);
        font-size: 16px;
        line-height: 24px;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    input[type="email"]::-moz-placeholder,
    input[type="tel"]::-moz-placeholder,
    textarea::-moz-placeholder,
    select::-moz-placeholder,
    input[type="text"]::-moz-placeholder {
        color: rgba(45, 42, 31, 0.5);
        font-size: 16px;
        line-height: 24px;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    input[type="email"]:-ms-input-placeholder,
    input[type="tel"]:-ms-input-placeholder,
    textarea:-ms-input-placeholder,
    select:-ms-input-placeholder,
    input[type="text"]:-ms-input-placeholder {
        color: rgba(45, 42, 31, 0.5);
        font-size: 16px;
        line-height: 24px;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    input[type="email"]::-webkit-input-placeholder,
    input[type="tel"]::-webkit-input-placeholder,
    textarea::-webkit-input-placeholder,
    select::-webkit-input-placeholder,
    input[type="text"]::-webkit-input-placeholder {
        color: rgba(45, 42, 31, 0.5);
        font-size: 16px;
        line-height: 24px;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    input[type="email"]:focus::-webkit-input-placeholder,
    input[type="tel"]:focus::-webkit-input-placeholder,
    textarea:focus::-webkit-input-placeholder,
    select:focus::-webkit-input-placeholder,
    input[type="text"]:focus::-webkit-input-placeholder {
        opacity: 0; }
    input[type="email"]:focus,
    input[type="tel"]:focus,
    textarea:focus,
    select:focus,
    input[type="text"]:focus {
        outline: none; }
    select,
    input {
        padding: 0 3.75rem; }
    select {
        font-size: 16px; }
    textarea {
        padding: 20px 3.75rem; }
    input,
    select {
        line-height: 60px; }
    input,
    textarea,
    select {
        padding-left: 20px;
        padding-right: 20px;
        font-size: 16px; } }

label[for="pdf-upload"] {
    font-size: 17px !important;
    margin-bottom: 10px !important; }

.custom-file-input::-webkit-file-upload-button {
    display: none; }

.custom-file-input {
    font-size: 16px; }

.custom-file-input::before {
    content: 'Browse files';
    border: 1px solid #999;
    border-radius: 3px;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    cursor: pointer;
    text-shadow: 1px 1px #fff;
    font-weight: 700;
    font-size: 12px;
    padding: 6px 14px;
    display: inline-flex;
    height: 30px;
    align-items: center;
    margin-right: 20px; }

.custom-file-input:hover::before {
    border-color: black; }

.custom-file-input:active::before {
    background: -webkit-linear-gradient(top, #e3e3e3, #f9f9f9); }

.no-poiner-events {
    pointer-events: none; }

.portfolio-section {
    position: relative; }
    .portfolio-section .inner-wrapper {
        position: relative; }
    .portfolio-section .desktop-portfolio-slider .inner-wrapper {
        overflow: hidden; }
    .portfolio-section .desktop-portfolio-slider .slide {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 0;
        pointer-events: none;
        overflow: hidden; }
        .portfolio-section .desktop-portfolio-slider .slide img {
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            position: absolute;
            pointer-events: none;
            user-drag: none;
            user-select: none;
            -moz-user-select: none;
            -webkit-user-drag: none;
            -webkit-user-select: none;
            -ms-user-select: none; }
    .portfolio-section .desktop-portfolio-slider-menu {
        list-style: none;
        overflow: hidden;
        background: #ffffff;
        border-left: 1px solid rgba(200, 170, 124, 0.2);
        border-top: 1px solid rgba(200, 170, 124, 0.2);
        border-right: 1px solid rgba(200, 170, 124, 0.2);
        display: grid;
        grid-template-columns: 22.91667vw 22.91667vw 22.91667vw 22.91667vw;
        text-align: center;
        border-radius: 10px;
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); }
        .portfolio-section .desktop-portfolio-slider-menu li {
            background: #ffffff;
            border-right: 1px solid rgba(200, 170, 124, 0.2);
            border-bottom: 1px solid rgba(200, 170, 124, 0.2);
            padding-top: clamp(50px, 3.34375rem, 3.34375rem);
            padding-bottom: clamp(50px, 3.34375rem, 3.34375rem);
            padding-left: clamp(30px, 1.875rem, 1.875rem);
            padding-right: clamp(30px, 1.875rem, 1.875rem);
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center; }
            .portfolio-section .desktop-portfolio-slider-menu li:last-of-type {
                padding: 0; }
                .portfolio-section .desktop-portfolio-slider-menu li:last-of-type .btn {
                    padding: 30px 1.875rem 30px 3.75rem; }
                    .portfolio-section .desktop-portfolio-slider-menu li:last-of-type .btn .text {
                        font-family: "SweetSansPro-Medium"; }
                .portfolio-section .desktop-portfolio-slider-menu li:last-of-type i {
                    width: 26px;
                    height: 7px;
                    bottom: 0;
                    position: relative;
                    top: 0;
                    right: 0;
                    left: 0;
                    bottom: 0;
                    display: block;
                    margin: 0 auto; }
                    .portfolio-section .desktop-portfolio-slider-menu li:last-of-type i svg.lottie {
                        margin: 0 auto;
                        position: absolute;
                        left: 0;
                        top: 0;
                        z-index: 1;
                        margin-left: 5%;
                        height: 10px !important;
                        width: 26px !important; }
                    .portfolio-section .desktop-portfolio-slider-menu li:last-of-type i svg path {
                        stroke: #52471E; }
            .portfolio-section .desktop-portfolio-slider-menu li p {
                font-family: "Violet-JW-Serif-Regular";
                font-weight: 400; }
            .portfolio-section .desktop-portfolio-slider-menu li.active .circle,
            .portfolio-section .desktop-portfolio-slider-menu li.active .line {
                -moz-transform: scaleY(1);
                -o-transform: scaleY(1);
                -ms-transform: scaleY(1);
                -webkit-transform: scaleY(1);
                transform: scaleY(1); }
            @media (min-width: 1025px) {
                .portfolio-section .desktop-portfolio-slider-menu li:hover .circle {
                    -moz-transform: scale(1);
                    -o-transform: scale(1);
                    -ms-transform: scale(1);
                    -webkit-transform: scale(1);
                    transform: scale(1); }
                .portfolio-section .desktop-portfolio-slider-menu li:last-of-type:hover .circle::before {
                    -moz-transform: scale(1.2);
                    -o-transform: scale(1.2);
                    -ms-transform: scale(1.2);
                    -webkit-transform: scale(1.2);
                    transform: scale(1.2); }
                .portfolio-section .desktop-portfolio-slider-menu li:last-of-type:hover .text {
                    transform: skew(-10deg); } }
            @media (max-width: 1024px) and (min-width: 768px) {
                .portfolio-section .desktop-portfolio-slider-menu li:last-of-type .btn {
                    padding: 30px 1.875rem; }
                    .portfolio-section .desktop-portfolio-slider-menu li:last-of-type .btn.circle-and-arrow .circle {
                        width: clamp(54px, 4.625rem, 4.625rem);
                        height: clamp(54px, 4.625rem, 4.625rem); } }
        .portfolio-section .desktop-portfolio-slider-menu .circle,
        .portfolio-section .desktop-portfolio-slider-menu p,
        .portfolio-section .desktop-portfolio-slider-menu p.x-large,
        .portfolio-section .desktop-portfolio-slider-menu .line {
            pointer-events: none; }
        .portfolio-section .desktop-portfolio-slider-menu .line {
            position: absolute;
            width: 100%;
            height: 5px;
            background: #52471E;
            bottom: -1px;
            left: 0;
            right: 0;
            -moz-transform: scaleY(0);
            -o-transform: scaleY(0);
            -ms-transform: scaleY(0);
            -webkit-transform: scaleY(0);
            transform: scaleY(0);
            -moz-transition: 450ms opacity cubic-bezier(0.75, 0.18, 0.3, 0.77), 450ms transform cubic-bezier(0.75, 0.18, 0.3, 0.77);
            -o-transition: 450ms opacity cubic-bezier(0.75, 0.18, 0.3, 0.77), 450ms transform cubic-bezier(0.75, 0.18, 0.3, 0.77);
            -webkit-transition: 450ms opacity cubic-bezier(0.75, 0.18, 0.3, 0.77), 450ms transform cubic-bezier(0.75, 0.18, 0.3, 0.77);
            transition: 450ms opacity cubic-bezier(0.75, 0.18, 0.3, 0.77), 450ms transform cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    .portfolio-section .slide-item {
        position: relative; }
        .portfolio-section .slide-item .circle {
            -moz-transform: scale(0);
            -o-transform: scale(0);
            -ms-transform: scale(0);
            -webkit-transform: scale(0);
            transform: scale(0); }
        .portfolio-section .slide-item.active .circle {
            -moz-transform: scale(0);
            -o-transform: scale(0);
            -ms-transform: scale(0);
            -webkit-transform: scale(0);
            transform: scale(0); }
        .portfolio-section .slide-item:hover {
            cursor: pointer; }
    .portfolio-section .count {
        list-style: none; }
        .portfolio-section .count span {
            line-height: 1.5;
            font-family: "SweetSansPro-Regular";
            font-weight: 400;
            color: #2D2A1F;
            font-size: 12px; }
            .portfolio-section .count span:last-of-type {
                opacity: 0.5; }
    .portfolio-section .infinite-portfolio.wrapper,
    .portfolio-section .post-slider.portfolio .title {
        padding: 20px 0 25px; }
    @media (max-width: 768px) {
        .portfolio-section .post-slider.portfolio .dots {
            margin: 30px auto 0; } }

.portfolio-section .titles .title,
.portfolio-section .titles .title a {
    color: #52471E; }

.portfolio-section .large-slider.arrows svg {
    width: 12px;
    height: 15px; }

.infinite-portfolio.wrapper .circle,
.desktop-portfolio-slider .circle,
.post-slider.portfolio .circle {
    width: clamp(74px, 4.625rem, 4.625rem);
    height: clamp(74px, 4.625rem, 4.625rem);
    border-radius: 50%;
    background: #FBF1E6;
    position: absolute;
    margin: auto;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    pointer-events: none;
    -moz-transition: 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }

.infinite-portfolio.wrapper p,
.desktop-portfolio-slider p,
.post-slider.portfolio p {
    pointer-events: none;
    position: relative;
    z-index: 2;
    color: #52471E; }

.desktop-portfolio-slider .btn {
    width: 100%;
    height: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between; }
    .desktop-portfolio-slider .btn .text {
        font-size: clamp(12px, 0.75rem, 0.75rem);
        line-height: 1.50000000000000000000; }
    .desktop-portfolio-slider .btn .circle {
        margin: 0; }

.portfolio-section .desktop-portfolio-slider .inner-wrapper {
    padding-bottom: 51.06250000000000000000rem; }

.portfolio-section .desktop-portfolio-slider .mouse-circle .icon-arrow path {
    fill: #52471E; }

.large-slider.arrows {
    width: 100%;
    height: 90px;
    position: absolute;
    z-index: 2;
    top: 200px;
    bottom: 0;
    margin: 0; }
    .large-slider.arrows .arrow {
        border-radius: 50%;
        position: absolute;
        width: 80px;
        height: 80px;
        background: #FBF1E6;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
        .large-slider.arrows .arrow.next {
            right: 30px; }
        .large-slider.arrows .arrow.prev {
            left: 30px; }
        .large-slider.arrows .arrow svg {
            pointer-events: none;
            transform-origin: center;
            -moz-transition: 400ms transform cubic-bezier(0.75, 0.18, 0.3, 0.77);
            -o-transition: 400ms transform cubic-bezier(0.75, 0.18, 0.3, 0.77);
            -webkit-transition: 400ms transform cubic-bezier(0.75, 0.18, 0.3, 0.77);
            transition: 400ms transform cubic-bezier(0.75, 0.18, 0.3, 0.77); }
        .large-slider.arrows .arrow.disabled {
            pointer-events: none; }
            .large-slider.arrows .arrow.disabled svg {
                opacity: 0.25; }
        @media (min-width: 1025px) {
            .large-slider.arrows .arrow:hover {
                cursor: pointer; }
                .large-slider.arrows .arrow:hover svg {
                    -moz-transform: scale(1.2);
                    -o-transform: scale(1.2);
                    -ms-transform: scale(1.2);
                    -webkit-transform: scale(1.2);
                    transform: scale(1.2); } }

.is-grabbing {
    cursor: grabbing; }

body.page-portfolio .list-portfolio-posts .icon,
body.page-the-collection .list-portfolio-posts .icon {
    margin: auto; }

.portfolio-introduction .icon {
    display: block;
    width: 100%;
    max-height: 100%;
    margin-bottom: 20px; }

.portfolio-introduction .icon.icon-type-wide img,
.portfolio-introduction .icon.icon-type-square img,
.portfolio-introduction .icon.icon-type-square-big img {
    width: 100%;
    margin-left: auto;
    margin-right: auto; }

.portfolio-introduction .icon.icon-type-wide img {
    max-width: 225px; }

.portfolio-introduction .icon.icon-type-square img {
    max-width: 72px;
    min-width: 60px; }

.portfolio-introduction .icon.icon-type-square-big img {
    max-width: 100px;
    min-width: 60px; }

@media (max-width: 768px) {
    .portfolio-introduction .icon.icon-type-wide img {
        max-width: 125px; } }

.list-portfolio-posts .icon.icon-type-wide img,
.post-slider.portfolio .icon.icon-type-wide img {
    width: 29.16667vw;
    max-width: 200px; }

.list-portfolio-posts .icon.icon-type-square img,
.post-slider.portfolio .icon.icon-type-square img {
    width: 9.03vw;
    max-width: 72px;
    min-width: 60px; }

.list-portfolio-posts .icon.icon-type-square-big img,
.post-slider.portfolio .icon.icon-type-square-big img {
    width: 9.03vw;
    max-width: 100px;
    min-width: 60px; }

.infinite-portfolio.wrapper .icon,
.list-portfolio-posts .icon,
.post-slider.portfolio .icon {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    z-index: 2;
    pointer-events: none; }
    .infinite-portfolio.wrapper .icon img,
    .list-portfolio-posts .icon img,
    .post-slider.portfolio .icon img {
        opacity: 0;
        margin: auto;
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        pointer-events: none; }

.infinite-portfolio.wrapper img,
.list-portfolio-posts img,
.post-slider.portfolio img {
    -moz-transition: 400ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 400ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 400ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 400ms opacity cubic-bezier(0.165, 0.84, 0.44, 1); }

.infinite-titles {
    position: relative;
    overflow: visible; }
    .infinite-titles .content {
        background: #FBF1E6;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        margin: -70px auto 0;
        padding: 30px 30px 40px;
        max-width: 600px;
        width: 100%; }
    .infinite-titles .separator {
        align-items: center;
        display: inline-flex;
        margin: 0 18px;
        position: relative;
        top: -3px; }
        .infinite-titles .separator::before {
            content: "";
            background: #C8AA7C;
            width: 30px;
            height: 1px; }
    .infinite-titles li {
        pointer-events: none; }
        .infinite-titles li.active {
            pointer-events: all; }
    .infinite-titles li {
        text-align: center; }
        .infinite-titles li h4 {
            font-family: "SweetSansPro-Medium";
            font-size: 1.125rem;
            padding: 20px 0 25px;
            text-transform: uppercase; }
            @media (max-width: 599px) {
                .infinite-titles li h4 {
                    font-size: 18px; } }
    @media (max-width: 768px) {
        .infinite-titles .content {
            width: 83.33333vw; } }

.infinite-portfolio.wrapper {
    width: 100vw;
    position: relative;
    display: flex;
    align-items: center; }
    .infinite-portfolio.wrapper .slide {
        flex-shrink: 0;
        padding-right: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex; }
        .infinite-portfolio.wrapper .slide picture {
            pointer-events: none; }

.infinite-portfolio.wrapper .slide {
    padding-right: 10px;
    position: relative; }

.infinite-portfolio.wrapper .content-wrapper {
    z-index: 3;
    overflow: visible; }

.infinite-portfolio.wrapper .content {
    width: 39.58333vw;
    background: #FBF1E6;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    margin: -70px auto 0;
    padding: 30px 30px 35px; }

.infinite-portfolio.wrapper .wrap {
    position: relative; }

.infinite-portfolio.wrapper .absolute-link {
    z-index: 2; }

.infinite-portfolio.wrapper .portfolio-image {
    position: relative;
    overflow: hidden;
    padding-bottom: 54.4%;
    max-height: 60vh;
    background: #2D2A1F; }
    .infinite-portfolio.wrapper .portfolio-image img {
        position: absolute;
        width: 100%;
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        object-fit: cover; }

.infinite-portfolio.wrapper .btn {
    margin-left: auto;
    margin-right: auto;
    font-size: 12px;
    line-height: 1.50; }

.infinite-portfolio.wrapper .title {
    position: relative; }

.infinite-portfolio.wrapper .arrows {
    pointer-events: none; }
    .infinite-portfolio.wrapper .arrows .arrow:not(.disabled) {
        pointer-events: all; }

@media (min-width: 1025px) {
    .infinite-portfolio.wrapper .absolute-link:hover + .icon img {
        opacity: 1; }
    .infinite-portfolio.wrapper .absolute-link:hover + .icon + .portfolio-image img {
        opacity: 0.75; } }

@media (min-width: 769px) {
    .infinite-portfolio.wrapper {
        margin-left: calc(50vw - 415px - 840px); }
        .infinite-portfolio.wrapper .slide {
            width: 840px; }
        .infinite-portfolio.wrapper .icon {
            width: 100%; }
        .infinite-portfolio.wrapper .absolute-link {
            width: 100%; }
        .infinite-portfolio.wrapper .dots {
            display: none; } }

@media (max-width: 768px) {
    .infinite-portfolio.wrapper {
        margin-left: -87.5vw; }
        .infinite-portfolio.wrapper div.slide {
            width: 91.66667vw;
            padding-left: 2.08333vw;
            padding-right: 2.08333vw; }
        .infinite-portfolio.wrapper .icon {
            width: 87.5vw;
            left: 2.08333vw; }
        .infinite-portfolio.wrapper .absolute-link {
            width: 87.5vw;
            left: 2.08333vw; }
        .infinite-portfolio.wrapper .content {
            width: 91.66667vw; }
        .infinite-portfolio.wrapper .inner-wrapper {
            margin-left: 8.33333vw; }
        .infinite-portfolio.wrapper .portfolio-image {
            padding-bottom: 0; }
            .infinite-portfolio.wrapper .portfolio-image img {
                position: relative; }
        .infinite-portfolio.wrapper .titles li {
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center; } }

.portfolio.infinite .large-slider.arrows {
    pointer-events: none; }
    .portfolio.infinite .large-slider.arrows .arrow {
        pointer-events: all; }
        .portfolio.infinite .large-slider.arrows .arrow.no-pointer-events {
            pointer-events: none; }

.mouse-circle {
    border-radius: 50%;
    z-index: 3;
    position: fixed;
    top: 0%;
    left: 0%;
    border-radius: 50%;
    pointer-events: none;
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0); }
    .mouse-circle .outline {
        width: clamp(62px, 6.375rem, 6.375rem);
        height: clamp(62px, 6.375rem, 6.375rem);
        border-radius: 50%;
        position: fixed;
        z-index: 3;
        pointer-events: none; }
    .mouse-circle.light {
        background: #ffffff;
        box-shadow: 0px 10px 30px rgba(27, 29, 36, 0.1); }
        .mouse-circle.light .outline {
            border: 1px solid #FBF1E6; }
    .mouse-circle.light-cream {
        background: #FBF1E6; }
    .mouse-circle.size-small {
        width: clamp(80px, 5rem, 5rem);
        height: clamp(80px, 5rem, 5rem); }
    .mouse-circle.size-regular {
        width: clamp(80px, 7.5rem, 7.5rem);
        height: clamp(80px, 7.5rem, 7.5rem); }
    .mouse-circle .icon-arrow {
        width: clamp(32px, 2rem, 2rem);
        height: clamp(14px, 0.875rem, 0.875rem); }
    .mouse-circle .icon-plus-mouse-ball {
        width: clamp(20px, 1.25rem, 1.25rem);
        height: clamp(20px, 1.25rem, 1.25rem); }
    .mouse-circle [class^=icon-] {
        position: absolute;
        content: '';
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto; }

.press-hero,
.media-and-press {
    user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none; }

.media-and-press .post-slider .slide {
    padding-right: 4.16667vw; }

.media-and-press .dates,
.media-and-press .titles {
    list-style: none;
    position: relative; }
    .media-and-press .dates li,
    .media-and-press .titles li {
        position: absolute;
        left: 0;
        top: 0; }

.media-and-press .dates li,
.media-and-press .titles li {
    pointer-events: none; }
    .media-and-press .dates li.active,
    .media-and-press .titles li.active {
        pointer-events: all; }

.media-and-press .slide {
    position: relative; }
    .media-and-press .slide .absolute-link {
        z-index: 2;
        width: 33.75rem; }
    .media-and-press .slide picture {
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        pointer-events: none; }

.post-slider {
    position: relative; }
    .post-slider .inner-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: none;
        flex-wrap: nowrap; }
    @media (min-width: 1025px) {
        .post-slider .slide {
            width: 41.66667vw; } }
    @media (min-width: 1025px) {
        .post-slider .inner-wrapper:hover {
            cursor: grab; }
        .post-slider .dots a:hover {
            cursor: pointer; } }

.media-and-press .dots {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    align-items: flex-start; }

.infinite-portfolio-dots,
.events-related .dots,
.portfolio-related .dots,
.media-and-press .dots,
.post-slider .dots {
    position: relative;
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .infinite-portfolio-dots li,
    .events-related .dots li,
    .portfolio-related .dots li,
    .media-and-press .dots li,
    .post-slider .dots li {
        margin: 0 12px; }
    .infinite-portfolio-dots li,
    .infinite-portfolio-dots a,
    .events-related .dots li,
    .events-related .dots a,
    .portfolio-related .dots li,
    .portfolio-related .dots a,
    .media-and-press .dots li,
    .media-and-press .dots a,
    .post-slider .dots li,
    .post-slider .dots a {
        width: 16px;
        height: 16px;
        border-radius: 50%;
        position: relative;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex; }
    .infinite-portfolio-dots a::before,
    .events-related .dots a::before,
    .portfolio-related .dots a::before,
    .media-and-press .dots a::before,
    .post-slider .dots a::before {
        position: absolute;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: rgba(82, 71, 30, 0.3);
        content: '';
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
        -moz-transform: scale(0.38);
        -o-transform: scale(0.38);
        -ms-transform: scale(0.38);
        -webkit-transform: scale(0.38);
        transform: scale(0.38); }
    .infinite-portfolio-dots .active a::before,
    .events-related .dots .active a::before,
    .portfolio-related .dots .active a::before,
    .media-and-press .dots .active a::before,
    .post-slider .dots .active a::before {
        background: #52471E;
        -moz-transform: scale(1);
        -o-transform: scale(1);
        -ms-transform: scale(1);
        -webkit-transform: scale(1);
        transform: scale(1); }
    @media (min-width: 769px) {
        .infinite-portfolio-dots,
        .events-related .dots,
        .portfolio-related .dots,
        .media-and-press .dots,
        .post-slider .dots {
            margin-top: 50px;
            margin-bottom: 50px;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            -webkit-justify-content: flex-start;
            -moz-justify-content: flex-start;
            justify-content: flex-start; } }
    @media (max-width: 768px) {
        .infinite-portfolio-dots,
        .events-related .dots,
        .portfolio-related .dots,
        .media-and-press .dots,
        .post-slider .dots {
            margin-top: 20px;
            margin-bottom: 40px; } }

.horizontal-image-scroller {
    width: 100%;
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }
    .horizontal-image-scroller .inner-wrapper {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: none;
        flex-wrap: nowrap; }
    .horizontal-image-scroller picture {
        padding-right: 3.75rem;
        user-select: none; }

.home-hero .horizontal-image-scroller picture {
    width: 56.25rem; }

.home-hero .horizontal-image-scroller .inner-wrapper {
    padding-left: 3.75rem; }

.modal-one,
.modal-one .background {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    bottom: 0; }

.modal-one .background {
    top: 0;
    background: rgba(45, 42, 31, 0.7); }

.modal-one .close-modal {
    background: #ffffff;
    top: 3.75rem;
    right: 3.75rem;
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .modal-one .close-modal .icon-dark-close {
        width: clamp(15px, 1.25rem, 1.25rem);
        height: clamp(15px, 1.25rem, 1.25rem);
        pointer-events: none; }

@media (min-width: 1025px) {
    .modal-one .background:hover,
    .modal-one .close-modal:hover {
        cursor: pointer; } }

@media (min-width: 769px) {
    .modal-one .close-modal {
        position: absolute;
        width: clamp(30px, 3.75rem, 3.75rem);
        height: clamp(30px, 3.75rem, 3.75rem); }
        .modal-one .close-modal .icon-dark-close {
            width: clamp(15px, 1.25rem, 1.25rem);
            height: clamp(15px, 1.25rem, 1.25rem); } }

@media (max-width: 768px) {
    .modal-one .close-modal {
        position: fixed;
        width: 50px;
        height: 50px; }
        .modal-one .close-modal .icon-dark-close {
            width: 20px;
            height: 20px; } }

.modal-one {
    opacity: 0;
    pointer-events: none;
    z-index: 11; }
    .modal-one.active {
        pointer-events: all; }
        .modal-one.active .background {
            pointer-events: all; }
    .modal-one .modal-content {
        z-index: 1;
        position: relative;
        padding: 3.75rem 0; }

#team-detail .modal-content {
    scrollbar-color: #52471E;
    /* width */
    /* Track */
    /* Handle */ }
    #team-detail .modal-content::-webkit-scrollbar {
        width: 8px; }
    #team-detail .modal-content::-webkit-scrollbar-track {
        border-radius: 8px; }
    #team-detail .modal-content::-webkit-scrollbar-thumb {
        background: #2D2A1F;
        border-radius: 8px; }
    #team-detail .modal-content p {
        margin-bottom: 20px; }

#team-detail .modal-content {
    width: 100%;
    background: #FBF1E6;
    max-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    position: absolute;
    bottom: 0;
    left: 0; }
    #team-detail .modal-content .copy {
        column-gap: 3.75rem; }
    #team-detail .modal-content .heading {
        padding-bottom: 3.75rem; }
        #team-detail .modal-content .heading h2 {
            margin-bottom: 5px; }
    #team-detail .modal-content .subtitle {
        text-transform: uppercase; }
    @media (min-width: 1025px) {
        #team-detail .modal-content .copy {
            -webkit-column-count: 3;
            -moz-column-count: 3;
            column-count: 3; } }
    @media (max-width: 1024px) and (min-width: 769px) {
        #team-detail .modal-content .copy {
            -webkit-column-count: 2;
            -moz-column-count: 2;
            column-count: 2; } }
    @media (max-width: 768px) {
        #team-detail .modal-content {
            padding-top: 100px;
            padding-bottom: 60px; } }

@media (min-width: 1025px) {
    #drag-slider,
    .core-values .row .headings-wrapper,
    .desktop-portfolio-slider .inner-wrapper,
    .events-slider-regular .inner-wrapper {
        cursor: none !important; } }

.portfolio-related {
    background: #FBF1E6; }
    .portfolio-related > .row {
        margin-bottom: 30px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        justify-content: space-between; }
    @media (max-width: 576px) {
        .portfolio-related h2 {
            text-align: center;
            width: 100%; }
        .portfolio-related ul.large-slider.arrows.light {
            display: none; } }
    @media (min-width: 769px) {
        .portfolio-related .dots.below-md {
            display: none; } }

.events-slider-regular .inner,
.portfolio-slider-regular .inner {
    margin-right: 4.16667vw; }

.events-slider-regular.list-portfolio-posts .image,
.portfolio-slider-regular.list-portfolio-posts .image {
    padding-bottom: clamp(100px, 20.39vw, 300px); }

.events-slider-regular.list-events-posts, .events-slider-regular.list-portfolio-posts,
.portfolio-slider-regular.list-events-posts,
.portfolio-slider-regular.list-portfolio-posts {
    padding: 0;
    grid-gap: 0;
    margin: 0;
    row-gap: 0;
    margin-bottom: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: none;
    flex-wrap: nowrap; }

@media (max-width: 576px) {
    .events-slider-regular .inner-wrapper,
    .portfolio-slider-regular .inner-wrapper {
        padding-left: 4.16667vw; }
    .events-slider-regular picture.image,
    .events-slider-regular.list-events-posts picture.image,
    .events-slider-regular.list-portfolio-posts picture.image,
    .portfolio-slider-regular picture.image,
    .portfolio-slider-regular.list-events-posts picture.image,
    .portfolio-slider-regular.list-portfolio-posts picture.image {
        padding-bottom: clamp(240px, 26.39vw, 400px); } }

.portfolio-slider-regular .slide {
    width: 31.95833vw; }

@media (max-width: 768px) and (min-width: 577px) {
    .portfolio-slider-regular .slide.portfolio-item {
        width: 47.91667vw; } }

@media (max-width: 576px) {
    .portfolio-slider-regular .slide.portfolio-item {
        width: 87.5vw; } }

.events-cta {
    background: #FBF1E6; }
    .events-cta .btn {
        margin-top: 30px; }
    .events-cta h2 {
        margin-top: 10px;
        margin-bottom: 30px; }

.events-slider-regular .slide {
    width: 41.66667vw; }

.events-slider-regular .absolute-link {
    cursor: none; }

@media (max-width: 768px) {
    .events-slider-regular .slide.events-item {
        width: 87.5vw; }
    .events-slider-regular .inner-wrapper {
        padding-left: 0; } }

@media (max-width: 768px) and (min-width: 577px) {
    .events-slider-regular .slide.events-item .image {
        padding-bottom: clamp(100px, 60vw, 400px); } }

.events-related .large-slider.arrows.light,
.portfolio-related .large-slider.arrows.light {
    position: relative;
    top: 0;
    height: 60px;
    margin: 0 0 0 auto;
    width: 120px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    .events-related .large-slider.arrows.light .arrow,
    .portfolio-related .large-slider.arrows.light .arrow {
        position: relative;
        background: #ffffff;
        width: 60px;
        height: 60px;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex; }
        .events-related .large-slider.arrows.light .arrow.next,
        .portfolio-related .large-slider.arrows.light .arrow.next {
            left: 0; }
        .events-related .large-slider.arrows.light .arrow.prev,
        .portfolio-related .large-slider.arrows.light .arrow.prev {
            left: -1px; }

.events-cta,
.events-related {
    padding-bottom: clamp(100px, 8.33vw, 140px); }

.events-related {
    position: relative; }
    .events-related::before {
        position: absolute;
        content: '';
        display: block;
        width: 100%;
        height: 70%;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        background: #FBF1E6; }
    .events-related h2 {
        margin-bottom: 30px;
        padding-left: 4.16667vw; }
    .events-related .dots {
        margin: 60px auto 0;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center; }
    @media (min-width: 1441px) {
        .events-related h2 {
            padding-left: 4.16667%; } }
    @media (min-width: 769px) {
        .events-related .inner-wrapper {
            padding-left: 0; } }
    @media (max-width: 768px) {
        .events-related .dots {
            margin: 60px auto 0; } }

.list-events-posts,
.events-related .list-events-posts {
    padding-left: 4.16667vw;
    padding-right: 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    align-items: flex-start; }
    .list-events-posts .image,
    .events-related .list-events-posts .image {
        padding-bottom: clamp(100px, 26.39vw, 400px); }

body.page-experiences #drag-ico {
    border: 1px solid rgba(45, 42, 31, 0.05); }

@media (min-width: 1441px) {
    .list-events-posts.events-slider-regular .image,
    .events-slider-regular.list-portfolio-posts .image,
    .portfolio-slider-regular.list-portfolio-posts .image {
        padding-bottom: clamp(100px, 20.39vw, 400px); } }

@media (min-width: 769px) {
    body.single-portfolio .list-portfolio-posts .icon.icon-type-wide img {
        max-width: 200px;
        width: 8.33333vw; }
    body.single-portfolio .list-portfolio-posts .icon.icon-type-square img {
        max-width: 72px;
        min-width: 50px; }
    ul.infinite-portfolio-dots {
        display: none; } }

@media (max-width: 768px) {
    #team-detail .modal-content {
        padding-left: 3.75rem;
        padding-right: 3.75rem; }
        #team-detail .modal-content .bio,
        #team-detail .modal-content .copy,
        #team-detail .modal-content [class^=g-] {
            width: 100%;
            margin-left: 0; }
        #team-detail .modal-content .image {
            margin-bottom: 10px; }
        #team-detail .modal-content .close-modal {
            top: 25px;
            right: calc(3.75rem + 8px); }
    .infinite-portfolio-dots {
        margin-top: 40px; }
        .infinite-portfolio-dots a::before,
        .infinite-portfolio-dots a.active::before {
            -moz-transition: 400ms all cubic-bezier(0.165, 0.84, 0.44, 1);
            -o-transition: 400ms all cubic-bezier(0.165, 0.84, 0.44, 1);
            -webkit-transition: 400ms all cubic-bezier(0.165, 0.84, 0.44, 1);
            transition: 400ms all cubic-bezier(0.165, 0.84, 0.44, 1); } }

.btn {
    position: relative;
    border-radius: 30px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .btn.regular {
        padding: 20px 30px; }
    .btn .text {
        text-transform: uppercase;
        font-size: clamp(14px, 0.875rem, 16px);
        line-height: 1.21428571428571428571;
        font-family: "SweetSansPro-Bold";
        font-weight: 700;
        letter-spacing: 1px;
        color: #52471E;
        transform-origin: 0% 100%;
        -moz-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -o-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }
        @media (min-width: 769px) {
            .btn .text {
                white-space: nowrap; } }
    .btn i,
    .btn .text,
    .btn svg {
        pointer-events: none; }
    @media (min-width: 1025px) {
        .btn:hover {
            cursor: pointer; } }

.btn.h-60 {
    padding-left: clamp(30px, 1.875rem, 35px);
    padding-right: clamp(30px, 1.875rem, 35px);
    padding-top: clamp(20.5px, 0.9375rem, 22px);
    padding-bottom: clamp(20.5px, 0.9375rem, 22px); }

.btn.light .text {
    color: #52471E; }

.btn.light::before {
    background-color: #ffffff;
    border-radius: 1.875rem;
    border: 1px solid rgba(187, 165, 122, 0.2);
    z-index: 0; }

.btn.light .text {
    z-index: 1; }

.btn.light.gold .gold path {
    fill: #C8AA7C; }

.btn.light.outline {
    border-radius: 30px; }
    .btn.light.outline::before {
        background: transparent;
        border: 1px solid #ffffff; }
    .btn.light.outline svg {
        margin-right: 10px; }
    .btn.light.outline .text {
        color: #ffffff; }

@media (max-width: 1024px) {
    .btn.light::before {
        border-radius: 30px; } }

.btn.size-xl::before,
.btn.size-lg::before {
    border-radius: 50%; }

.btn.size-xl::before,
.btn.size-lg::before,
.btn.light::before,
.btn.just-icon::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    -moz-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }

.btn.outline::before {
    border-radius: 30px; }

.btn.light-white {
    background: #ffffff; }
    .btn.light-white .text {
        color: #52471E; }

.btn.inline {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex; }

.btn.tan {
    background: #FBF1E6; }
    .btn.tan .text {
        color: #52471E; }

.instagram-cta .btn.tan {
    border-radius: 40px;
    padding: 20px 30px;
    background: transparent;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -moz-transition: 500ms background cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 500ms background cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 500ms background cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 500ms background cubic-bezier(0.165, 0.84, 0.44, 1); }
    .instagram-cta .btn.tan i {
        margin-right: clamp(15px, 1.73611vw, 25px);
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex; }
        .instagram-cta .btn.tan i svg {
            -moz-transition: 500ms fill cubic-bezier(0.165, 0.84, 0.44, 1);
            -o-transition: 500ms fill cubic-bezier(0.165, 0.84, 0.44, 1);
            -webkit-transition: 500ms fill cubic-bezier(0.165, 0.84, 0.44, 1);
            transition: 500ms fill cubic-bezier(0.165, 0.84, 0.44, 1); }

.btn.btn-line {
    border: none;
    position: relative;
    padding-bottom: 6px;
    min-height: 23px; }
    .btn.btn-line.light::before, .btn.btn-line.green::before, .btn.btn-line.gold::before {
        top: 100%;
        position: absolute;
        content: "";
        display: block;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        width: 100%;
        height: 1px;
        transform-origin: 100% 0;
        border: none;
        -moz-transition: 500ms transform cubic-bezier(1, 0, 0, 1);
        -o-transition: 500ms transform cubic-bezier(1, 0, 0, 1);
        -webkit-transition: 500ms transform cubic-bezier(1, 0, 0, 1);
        transition: 500ms transform cubic-bezier(1, 0, 0, 1); }
    .btn.btn-line.light .text {
        color: #ffffff; }
    .btn.btn-line.light svg path,
    .btn.btn-line.light .icon-arrow path {
        fill: #ffffff;
        stroke: #ffffff; }
    .btn.btn-line.light::before {
        background: #ffffff; }
    .btn.btn-line.gold .text {
        color: #C8AA7C; }
    .btn.btn-line.gold svg path,
    .btn.btn-line.gold .icon-arrow path {
        fill: #C8AA7C;
        stroke: #C8AA7C; }
    .btn.btn-line.gold::before {
        background: #C8AA7C; }
    .btn.btn-line.gold .text,
    .btn.btn-line.gold svg {
        pointer-events: none; }
    .btn.btn-line.green .text {
        color: #52471E; }
    .btn.btn-line.green svg path,
    .btn.btn-line.green .icon-arrow path {
        fill: #52471E;
        stroke: #52471E; }
    .btn.btn-line.green::before {
        background: #52471E; }
    .btn.btn-line .text {
        transform-origin: 0% 100%;
        -moz-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -o-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }
    @media (min-width: 1025px) {
        .btn.btn-line.light:hover::before, .btn.btn-line.gold:hover::before {
            -moz-transform: scaleX(0);
            -o-transform: scaleX(0);
            -ms-transform: scaleX(0);
            -webkit-transform: scaleX(0);
            transform: scaleX(0); } }

.btn.load-more .loading {
    line-height: 1.21428571428571428571;
    height: 18px;
    margin-right: 15px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }

.btn.load-more i {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #C8AA7C;
    display: inline-block;
    margin-right: 4px;
    -moz-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }
    .btn.load-more i:last-of-type {
        margin-right: 0; }

@media (min-width: 1025px) {
    .btn.load-more:hover i:first-of-type {
        -moz-transform: translateX(100%);
        -o-transform: translateX(100%);
        -ms-transform: translateX(100%);
        -webkit-transform: translateX(100%);
        transform: translateX(100%); }
    .btn.load-more:hover i:nth-of-type(2) {
        -moz-transform: scale(3);
        -o-transform: scale(3);
        -ms-transform: scale(3);
        -webkit-transform: scale(3);
        transform: scale(3); }
    .btn.load-more:hover i:last-of-type {
        -moz-transform: translateX(-100%);
        -o-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%); } }

.btn.icon-arrow i {
    width: clamp(20px, 1.25rem, 25px);
    min-height: 0.625rem;
    margin-right: clamp(15px, 0.9375rem, 15px); }

.btn.icon-arrow svg.icon-arrow-light,
.btn.icon-arrow svg.icon-arrow {
    width: clamp(25px, 1.5625rem, 1.5625rem);
    height: clamp(12px, 0.75rem, 0.75rem); }

.btn.circle-and-arrow .icon-arrow {
    width: clamp(25px, 1.5625rem, 1.5625rem);
    height: clamp(12px, 0.75rem, 0.75rem); }

.btn.circle-and-arrow .circle {
    width: clamp(74px, 4.625rem, 4.625rem);
    height: clamp(74px, 4.625rem, 4.625rem);
    border-radius: 50%;
    position: relative;
    background: transparent;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .btn.circle-and-arrow .circle::before {
        border-radius: 50%;
        position: absolute;
        content: '';
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        background: #FBF1E6;
        -moz-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -o-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }

.portfolio-slider-section .btn.circle-and-arrow {
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between; }
    .portfolio-slider-section .btn.circle-and-arrow .text,
    .portfolio-slider-section .btn.circle-and-arrow .circle {
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex; }
    .portfolio-slider-section .btn.circle-and-arrow .text {
        font-family: "SweetSansPro-Medium";
        font-weight: 500; }

.btn.size-xxl {
    width: clamp(120px, 14.125rem, 14.125rem);
    height: clamp(120px, 14.125rem, 14.125rem);
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .btn.size-xxl.gold {
        background: #C8AA7C; }
        .btn.size-xxl.gold .text {
            color: #ffffff; }
        .btn.size-xxl.gold .icon-arrow path {
            fill: #ffffff; }
    .btn.size-xxl.icon-arrow svg.icon-arrow {
        margin: 10px 0 0 0; }
    .btn.size-xxl .text {
        padding: 0 1vw;
        text-align: center;
        font-family: "SweetSansPro-Regular";
        font-weight: 500;
        font-size: 12px;
        line-height: 1.50000000000000000000;
        white-space: normal; }

.btn.size-xl {
    width: clamp(80px, 11.25rem, 11.25rem);
    height: clamp(80px, 11.25rem, 11.25rem);
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .btn.size-xl.gold {
        background: #C8AA7C; }
        .btn.size-xl.gold .text {
            color: #ffffff; }
        .btn.size-xl.gold .icon-arrow path {
            fill: #ffffff; }
    .btn.size-xl.icon-arrow svg.icon-arrow {
        margin: 10px 0 0 0; }
    .btn.size-xl .text {
        padding: 0 1vw;
        text-align: center;
        font-family: "SweetSansPro-Regular";
        font-weight: 500;
        font-size: 12px;
        line-height: 1.50000000000000000000; }
    .btn.size-xl.light-cream::before {
        background: #FBF1E6; }
    .btn.size-xl.light-cream .icon-instagram path,
    .btn.size-xl.light-cream .icon-arrow path {
        fill: #C8AA7C; }
    .btn.size-xl .icon-instagram {
        width: clamp(32px, 2rem, 2rem);
        height: clamp(32px, 2rem, 2rem); }
    @media (max-width: 768px) {
        .btn.size-xl {
            width: clamp(130px, 30rem, 30rem);
            height: clamp(130px, 30rem, 30rem); } }

.btn.size-xl,
.btn.size-xl::before,
.btn.size-lg,
.btn.size-lg::before {
    -moz-transition: 450ms opacity cubic-bezier(0.165, 0.84, 0.44, 1), 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 450ms opacity cubic-bezier(0.165, 0.84, 0.44, 1), 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 450ms opacity cubic-bezier(0.165, 0.84, 0.44, 1), 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 450ms opacity cubic-bezier(0.165, 0.84, 0.44, 1), 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }

.btn.size-lg {
    width: clamp(80px, 7.5rem, 7.5rem);
    height: clamp(80px, 7.5rem, 7.5rem);
    border-radius: 50%;
    will-change: opacity;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .btn.size-lg.gold::before {
        background: #C8AA7C; }
    .btn.size-lg.light-cream {
        background: #FBF1E6; }
        .btn.size-lg.light-cream::before {
            background: #FBF1E6; }
        .btn.size-lg.light-cream .icon-arrow path {
            fill: #C8AA7C; }
    .btn.size-lg.light .icon-arrow path {
        fill: #C8AA7C; }
    .btn.size-lg .icon-arrow {
        width: clamp(25px, 1.5625rem, 1.5625rem);
        height: clamp(25px, 1.5625rem, 1.5625rem); }
    .btn.size-lg svg {
        width: 100% !important;
        height: auto !important; }
    @media (max-width: 768px) {
        .btn.size-lg {
            width: clamp(120px, 7.5rem, 7.5rem);
            height: clamp(120px, 7.5rem, 7.5rem); } }

.btn.size-lg.lottie-btn i {
    width: clamp(30px, 1.5625rem, 1.5625rem);
    height: auto;
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }

.post-press-content .btn-download {
    background: #FBF1E6; }

.inline-link-single.on-green {
    background: linear-gradient(to right, #52471e, #52471e), linear-gradient(to right, #fbf1e6, #fbf1e6);
    background-size: 100% 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    position: relative; }

.post-press-content a,
.post-press-content .inline-link {
    background: linear-gradient(to right, #2d2a1f, #2d2a1f), linear-gradient(to right, white, white);
    background-size: 100% 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat; }

a.inline-link-single,
.inline-link-single,
.post-press-content a,
.post-press-content .inline-link {
    -moz-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1), background-size 350ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1), background-size 350ms cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1), background-size 350ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 350ms transform cubic-bezier(0.165, 0.84, 0.44, 1), background-size 350ms cubic-bezier(0.165, 0.84, 0.44, 1); }
    @media (min-width: 1025px) {
        a.inline-link-single:hover,
        .inline-link-single:hover,
        .post-press-content a:hover,
        .post-press-content .inline-link:hover {
            background-size: 0 1px, 100% 1px;
            transform: skew(-10deg) translateZ(0);
            backface-visibility: hidden; } }

.inline-link {
    display: inline;
    position: relative;
    background-size: 0 6px, 100% 6px;
    background-position: 0 bottom, 0 bottom;
    background-repeat: no-repeat;
    padding-bottom: 4px;
    word-break: break-word;
    -moz-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
    -o-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
    -webkit-transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77);
    transition: 400ms all cubic-bezier(0.75, 0.18, 0.3, 0.77); }
    .inline-link.dark {
        background-image: -webkit-linear-gradient(transparent 2px, #ffffff 0, #ffffff 4px, transparent 0), -webkit-linear-gradient(transparent 2px, #2D2A1F 0, #2D2A1F 4px, transparent 0);
        background-image: -o-linear-gradient(transparent 2px, #ffffff 2px, #ffffff 4px, transparent 4px), -o-linear-gradient(transparent 2px, #2D2A1F 2px, #2D2A1F 4px, transparent 4px);
        background-image: linear-gradient(transparent 2px, #ffffff 0, #ffffff 4px, transparent 0), linear-gradient(transparent 2px, #2D2A1F 0, #2D2A1F 4px, transparent 0); }
    .inline-link.light {
        background-image: -webkit-linear-gradient(transparent 2px, #52471E 0, #52471E 3px, transparent 0), -webkit-linear-gradient(transparent 2px, #ffffff 0, #ffffff 3px, transparent 0);
        background-image: -o-linear-gradient(transparent 2px, #52471E 2px, #52471E 3px, transparent 3px), -o-linear-gradient(transparent 2px, #ffffff 2px, #ffffff 3px, transparent 3px);
        background-image: linear-gradient(transparent 2px, #52471E 0, #52471E 3px, transparent 0), linear-gradient(transparent 2px, #ffffff 0, #ffffff 3px, transparent 0); }
    .inline-link.gold {
        background-image: -webkit-linear-gradient(transparent 2px, #52471E 0, #52471E 3px, transparent 0), -webkit-linear-gradient(transparent 2px, #C8AA7C 0, #C8AA7C 3px, transparent 0);
        background-image: -o-linear-gradient(transparent 2px, #52471E 2px, #52471E 3px, transparent 3px), -o-linear-gradient(transparent 2px, #C8AA7C 2px, #C8AA7C 3px, transparent 3px);
        background-image: linear-gradient(transparent 2px, #52471E 0, #52471E 3px, transparent 0), linear-gradient(transparent 2px, #C8AA7C 0, #C8AA7C 3px, transparent 0); }
    .inline-link:hover {
        cursor: pointer; }
    .inline-link.dark:hover {
        color: #FBF1E6; }

.btn.just-icon {
    padding: 17px 28px; }
    .btn.just-icon.icon-arrow i {
        width: clamp(32px, 2rem, 2rem);
        height: clamp(16px, 1rem, 1rem);
        margin-right: 0; }
    .btn.just-icon.gold::before {
        background-color: #C8AA7C;
        border-radius: 50px; }
    .btn.just-icon.gold svg path,
    .btn.just-icon.gold .icon-arrow path {
        fill: #ffffff;
        stroke: #ffffff; }

.btn.portfolio {
    position: absolute;
    bottom: 30px;
    text-align: center;
    min-width: 15rem;
    padding-left: clamp(25px, 1.875rem, 30px);
    padding-right: clamp(25px, 1.875rem, 30px);
    padding-top: clamp(16px, 0.9375rem, 22px);
    padding-bottom: clamp(16px, 0.9375rem, 22px);
    -moz-transition: 500ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 500ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 500ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 500ms opacity cubic-bezier(0.165, 0.84, 0.44, 1); }
    .btn.portfolio .text {
        font-family: "Violet-JW-Serif-Regular";
        font-weight: 400;
        font-size: 20px;
        line-height: 1.4;
        text-transform: none; }
    @media (max-width: 768px) {
        .btn.portfolio .text {
            font-size: 16px;
            line-height: 1.33; } }

.absolute-link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%; }

.instagram-hover {
    background: transparent; }
    .instagram-hover::before {
        position: absolute;
        content: '';
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        background: #FBF1E6;
        border-radius: 40px;
        transform-origin: center; }
    .instagram-hover i {
        height: 24px; }
        .instagram-hover i path {
            fill: #52471E; }
    @media (min-width: 1025px) {
        .instagram-hover:hover {
            background: transparent; }
            .instagram-hover:hover::before {
                background: #413D32;
                -moz-transform: scale(1.05, 1.1);
                -o-transform: scale(1.05, 1.1);
                -ms-transform: scale(1.05, 1.1);
                -webkit-transform: scale(1.05, 1.1);
                transform: scale(1.05, 1.1); }
            .instagram-hover:hover .text {
                -moz-transform: skew(-10deg);
                -o-transform: skew(-10deg);
                -ms-transform: skew(-10deg);
                -webkit-transform: skew(-10deg);
                transform: skew(-10deg); } }

.instagram-hover,
.instagram-hover .text,
.instagram-hover::before {
    -moz-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1), 500ms background cubic-bezier(0.165, 0.84, 0.44, 1);
    -o-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1), 500ms background cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1), 500ms background cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: 500ms transform cubic-bezier(0.165, 0.84, 0.44, 1), 500ms background cubic-bezier(0.165, 0.84, 0.44, 1); }

.common-content .btn-download {
    background-image: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }
    .common-content .btn-download h5 {
        margin-bottom: 0; }

.btn-download {
    background: #FBF1E6;
    color: #52471E;
    padding: 20px 20px 20px 3.75rem;
    width: 100%;
    position: relative;
    margin-top: 20px;
    margin-bottom: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between; }
    .btn-download h5 {
        margin-bottom: 0;
        max-width: 60rem;
        text-align: left;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex; }
    .btn-download .circle {
        border-radius: 50%;
        background: #ffffff;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
        .btn-download .circle svg {
            width: 30px;
            height: 30px; }
        .btn-download .circle svg,
        .btn-download .circle h5 {
            pointer-events: none; }
    @media (min-width: 769px) {
        .btn-download .circle {
            width: clamp(60px, 5rem, 5rem);
            height: clamp(60px, 5rem, 5rem); } }
    @media (max-width: 768px) {
        .btn-download {
            padding: 3.75rem; }
            .btn-download .circle {
                width: clamp(50px, 12.82051vw, 12.82051vw);
                height: clamp(50px, 12.82051vw, 12.82051vw); }
                .btn-download .circle svg {
                    width: 20px;
                    height: 20px; }
            .btn-download h5 {
                font-size: 16px;
                line-height: 1.50000000000000000000;
                padding: 20px 3.75rem 20px; } }

@media (min-width: 1025px) {
    .instagram-cta .btn.tan:hover i svg path {
        fill: #FBF1E6; }
    .instagram-cta .btn.tan:hover .text {
        color: #FBF1E6; }
    .btn.light:hover::before {
        -moz-transform: scale(1.1, 1.15);
        -o-transform: scale(1.1, 1.15);
        -ms-transform: scale(1.1, 1.15);
        -webkit-transform: scale(1.1, 1.15);
        transform: scale(1.1, 1.15); }
    .btn.light:hover .text {
        transform: skew(-10deg); }
    .btn.size-xl:hover::before,
    .btn.size-lg:hover::before {
        -moz-transform: scale(1.2);
        -o-transform: scale(1.2);
        -ms-transform: scale(1.2);
        -webkit-transform: scale(1.2);
        transform: scale(1.2); } }

.btn--circle {
    align-items: center;
    background: #C8AA7C;
    border-radius: 50%;
    color: white;
    display: flex;
    flex-direction: column;
    font-family: "SweetSansPro-Bold";
    font-size: 14px;
    letter-spacing: 1.3px;
    justify-content: center;
    padding: 0 20px;
    text-align: center;
    width: 180px;
    height: 180px; }
    .btn--circle svg {
        margin-top: 18px;
        transition: all 0.4s cubic-bezier(0.75, 0.18, 0.3, 0.77);
        transform: rotateX(0deg) !important;
        width: 32px !important;
        height: 15.1px !important; }
    .btn--circle:hover svg {
        transform: rotateX(180deg) !important; }

.home-hero {
    background: #2D2A1F; }
    .home-hero .row {
        z-index: 4;
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -ms-flex-align: end;
        -webkit-align-items: flex-end;
        -moz-align-items: flex-end;
        align-items: flex-end;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
    .home-hero .background-image {
        z-index: -1;
        opacity: 0.6;
        pointer-events: none; }
    @media (min-width: 1441px) {
        .home-hero .g-10 {
            width: 58.33333%; } }
    @media (max-width: 1024px) and (min-width: 769px) {
        .home-hero .g-10 {
            width: 50vw; } }

.home-hero {
    position: relative; }
    .home-hero h1 {
        font-family: "PPFGL";
        font-size: 3.125rem;
        font-weight: 400;
        line-height: 1.13;
        margin-bottom: 100px;
        max-width: 600px;
        text-align: center; }
        @media (max-width: 1024px) {
            .home-hero h1 {
                font-size: 40px;
                padding: 0 20px; } }
    @media (min-width: 1025px) {
        .home-hero picture:nth-of-type(2) {
            top: 24.87500000000000000000rem; }
        .home-hero .align-top-center p {
            padding: 0 2.8rem; }
        .home-hero .row:nth-of-type(2) {
            height: calc(100vh - 120px); } }
    @media (max-width: 1024px) and (min-width: 769px) {
        .home-hero .g-4:first-of-type {
            width: 22.5rem; }
        .home-hero picture:nth-of-type(2) {
            top: 26.875rem; } }
    @media (max-width: 768px) {
        .home-hero {
            padding-top: 110px;
            padding-bottom: 10px; }
            .home-hero > .row {
                height: calc(100vh - 120px); }
            .home-hero .below-md .g-13 {
                width: 60rem; } }

.company-culture {
    padding-top: 30px;
    padding-bottom: 30px; }
    .company-culture h2 {
        width: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .company-culture [class^=g-] {
        position: relative; }
        .company-culture [class^=g-]:last-of-type {
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: start;
            -ms-flex-align: start;
            -webkit-align-items: flex-start;
            -moz-align-items: flex-start;
            align-items: flex-start;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center;
            -webkit-box-direction: normal;
            -webkit-box-orient: vertical;
            -webkit-flex-direction: column;
            -moz-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column; }
    .company-culture .subtitle {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        margin-left: 0;
        margin-right: 0; }
    .company-culture .icon-illustration-01 {
        position: relative;
        height: auto;
        -moz-transform: rotate(8.22deg);
        -o-transform: rotate(8.22deg);
        -ms-transform: rotate(8.22deg);
        -webkit-transform: rotate(8.22deg);
        transform: rotate(8.22deg); }
        .company-culture .icon-illustration-01 img {
            opacity: 0.5; }
    @media (min-width: 1441px) {
        .company-culture img.icon-illustration-01 {
            max-width: 630px;
            width: 45.83333%;
            left: -4.16667%; } }
    @media (min-width: 769px) {
        .company-culture p:not(.subtitle) {
            margin-top: clamp(30px, 2.5rem, 40px);
            margin-bottom: clamp(30px, 2.8125rem, 40px); }
        .company-culture .icon-illustration-01 {
            left: -2.0625rem;
            width: 50%; } }
    @media (max-width: 768px) {
        .company-culture {
            padding-top: 100px;
            padding-bottom: 0; }
            .company-culture [class^=g-]:last-of-type .subtitle,
            .company-culture [class^=g-]:last-of-type .btn {
                margin-left: auto;
                margin-right: auto;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                -webkit-justify-content: center;
                -moz-justify-content: center;
                justify-content: center;
                -webkit-box-align: center;
                -ms-flex-align: center;
                -webkit-align-items: center;
                -moz-align-items: center;
                align-items: center; }
            .company-culture h2 {
                width: 100%;
                margin-left: 0; }
            .company-culture .subtitle {
                margin-left: 0;
                margin-bottom: 25px; }
            .company-culture .icon-illustration-01 {
                width: 76vw;
                left: -17vw;
                top: 0;
                position: absolute; }
            .company-culture .g-5 {
                width: 67.5rem;
                margin-left: auto;
                margin-right: auto; }
            .company-culture p:not(.subtitle) {
                margin-top: 30px;
                margin-bottom: 40px; } }

.half-tan {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center; }

.about-team .half-tan.bg-cream-before::before,
.about-team .half-tan.bg-dark-before::before,
.about-team .half-tan.bg-sand-before::before {
    width: 54.16667vw;
    margin-left: 45.83333vw; }

.about-team .copy-col p {
    color: #F3EEE3;
    font-size: 1.125rem !important; }
    @media (max-width: 1024px) {
        .about-team .copy-col p {
            font-size: 16px !important; } }

@media (max-width: 1024px) {
    .about-team .copy-col {
        background: #413D32;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 60px; } }

.half-tan,
.about-events {
    position: relative;
    text-align: center; }
    .half-tan .subtitle,
    .about-events .subtitle {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
    .half-tan .row,
    .about-events .row {
        position: relative; }
    .half-tan p,
    .about-events p {
        margin-top: 30px;
        margin-bottom: 30px; }
    .half-tan .bg-cream-before::before,
    .about-events .bg-cream-before::before {
        width: 52vw;
        left: 0; }
    .half-tan .row:nth-of-type(2) picture:first-of-type,
    .about-events .row:nth-of-type(2) picture:first-of-type {
        position: absolute;
        top: -9.66666666666875000000rem;
        left: 0; }
    .half-tan .row:nth-of-type(2) picture:last-of-type,
    .about-events .row:nth-of-type(2) picture:last-of-type {
        position: absolute;
        left: 0;
        bottom: 0; }
    .half-tan .row:nth-of-type(2) .copy,
    .about-events .row:nth-of-type(2) .copy {
        text-align: center;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    @media (min-width: 769px) {
        .half-tan .copy p,
        .about-events .copy p {
            padding-left: 4.16667vw;
            padding-right: 4.16667vw; }
        .half-tan .row:nth-of-type(2) h2,
        .about-events .row:nth-of-type(2) h2 {
            margin-top: clamp(5px, 0.3125rem, 45px);
            margin-bottom: clamp(25px, 1.25rem, 45px); } }
    @media (max-width: 768px) {
        .half-tan .copy,
        .about-events .copy {
            margin-top: 20px; }
            .half-tan .copy h2 + p,
            .about-events .copy h2 + p {
                max-width: 75rem;
                margin-left: auto;
                margin-right: auto;
                margin: 30px auto 30px; } }

.core-values {
    position: relative; }
    .core-values h2 {
        padding-top: clamp(20px, 1.25rem, 1.25rem);
        padding-bottom: clamp(20px, 1.25rem, 1.25rem);
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        justify-content: space-between;
        -moz-transition: 400ms color cubic-bezier(0.165, 0.84, 0.44, 1);
        -o-transition: 400ms color cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transition: 400ms color cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 400ms color cubic-bezier(0.165, 0.84, 0.44, 1); }
        .core-values h2 svg path {
            -moz-transition: 400ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
            -o-transition: 400ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
            -webkit-transition: 400ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
            transition: 400ms opacity cubic-bezier(0.165, 0.84, 0.44, 1); }
        .core-values h2.active svg path {
            fill: #C8AA7C; }
            .core-values h2.active svg path:last-of-type {
                opacity: 0; }
    .core-values h2 {
        user-select: none;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none; }
    .core-values .subtitle {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex; }
    .core-values .row [class^=g-]:first-of-type {
        position: relative;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .core-values .value-wrapper {
        border-bottom: 1px solid #C8AA7C; }
        .core-values .value-wrapper .copy {
            position: relative;
            height: 0;
            overflow: hidden; }
            .core-values .value-wrapper .copy .inner {
                padding-left: 0;
                padding-right: 0;
                padding-bottom: 50px;
                display: -webkit-box;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-direction: normal;
                -webkit-box-orient: horizontal;
                -webkit-flex-direction: row;
                -moz-flex-direction: row;
                -ms-flex-direction: row;
                flex-direction: row; }
    @media (min-width: 769px) {
        .core-values h2 {
            font-size: clamp(60px, 5.76rem, 80px); }
        .core-values .icon-plus {
            display: none;
            visibility: hidden; }
        .core-values .value-wrapper .copy .inner {
            padding-top: 20px; }
        .core-values .icon-illustration-02 {
            position: relative;
            left: 4.16667vw;
            top: 0;
            bottom: 0; }
            .core-values .icon-illustration-02 img {
                opacity: 0.5; } }
    @media (max-width: 768px) {
        .core-values .value-wrapper,
        .core-values .subtitle {
            width: 100%;
            margin-left: 0; }
        .core-values .copy {
            width: 75rem; } }
    @media (max-width: 480px) {
        .core-values .c-120 {
            font-size: 10.546154vw; } }

.portfolio-section {
    padding-top: 80px; }
    .portfolio-section .subtitle {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        margin-bottom: 20px;
        text-align: center;
        text-transform: uppercase; }
    .portfolio-section h2 {
        text-align: center; }
    @media (min-width: 769px) {
        .portfolio-section h2 {
            margin-bottom: 10px; } }
    @media (max-width: 768px) {
        .portfolio-section {
            padding-bottom: 80px; }
            .portfolio-section .subtitle {
                margin: 0 auto 20px;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                -webkit-justify-content: center;
                -moz-justify-content: center;
                justify-content: center; }
            .portfolio-section h2 {
                margin-bottom: 30px; } }

.media-and-press .slide picture {
    position: relative; }
    .media-and-press .slide picture img {
        position: absolute; }
    @media (min-width: 769px) {
        .media-and-press .slide picture {
            padding-bottom: 148.5%; } }
    @media (max-width: 768px) {
        .media-and-press .slide picture {
            padding-bottom: 100%;
            overflow: hidden; } }

.media-and-press {
    position: relative; }
    .media-and-press .row {
        position: relative;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center; }
    .media-and-press [class^=g-]:first-of-type {
        padding-left: 7.5rem;
        padding-right: 7.5rem; }
        .media-and-press [class^=g-]:first-of-type::before {
            position: absolute;
            content: '';
            display: block;
            left: 0;
            background: #FBF1E6;
            z-index: -1; }
    .media-and-press .subtitle {
        margin-bottom: 40px; }
    .media-and-press .dates h2 {
        position: relative; }
    .media-and-press .date {
        margin-bottom: 10px;
        font-weight: 500;
        font-family: "SweetSansPro-Medium";
        color: #2D2A1F; }
    .media-and-press .title,
    .media-and-press .title a {
        color: #52471E; }
    .media-and-press .title {
        position: relative; }
    .media-and-press .title a {
        width: 100%;
        display: block; }
    @media (min-width: 1025px) {
        .media-and-press .post-slider {
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center; } }
    @media (min-width: 769px) {
        .media-and-press .dots.below-md {
            display: none; }
        .media-and-press .slide img {
            top: 0;
            bottom: 0;
            margin: auto; }
        .media-and-press .dots {
            margin: 60px 0 80px; }
        .media-and-press .row {
            padding-top: clamp(80px, 8.125rem, 120px);
            padding-bottom: clamp(80px, 8.125rem, 120px); }
        .media-and-press [class^=g-]:first-of-type::before {
            width: 54.16667vw;
            top: 0;
            bottom: 0;
            bottom: 0; }
        .media-and-press .post-slider,
        .media-and-press .row {
            overflow: hidden; } }
    @media (min-width: 1441px) {
        .media-and-press .slide {
            max-height: 35vw;
            overflow: hidden; }
            .media-and-press .slide picture {
                padding-bottom: 112.5%; } }
    @media (min-width: 1025px) {
        .media-and-press .slide {
            max-height: 50vw;
            overflow: hidden; } }
    @media (max-width: 768px) {
        .media-and-press {
            padding-top: 50px; }
            .media-and-press [class^=g-]:first-of-type::before {
                width: 108.33333vw;
                left: -8.33333vw;
                height: calc(55% + 30px);
                top: -80px; }
            .media-and-press [class^=g-]:first-of-type {
                padding-left: 7.5rem; }
            .media-and-press .inner-wrapper {
                margin-left: 7.5rem; }
            .media-and-press .slide {
                width: 87.5vw; }
                .media-and-press .slide .absolute-link {
                    width: 83.33333vw; }
            .media-and-press .dots.above-md {
                display: none;
                margin: 0; }
            .media-and-press .post-slider {
                margin-top: 20px;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                -webkit-justify-content: center;
                -moz-justify-content: center;
                justify-content: center; }
                .media-and-press .post-slider .dots {
                    margin: 40px auto; }
            .media-and-press .btn.inline.above-md {
                display: none; }
            .media-and-press#about-press {
                padding-top: 100px;
                padding-bottom: 100px; }
                .media-and-press#about-press [class^="g-"]:first-of-type::before {
                    top: -100px; } }

.logo-list-cta {
    list-style: none;
    display: grid;
    grid-column-gap: 0;
    justify-items: center; }
    .logo-list-cta svg {
        height: auto;
        display: block;
        margin: auto;
        position: relative;
        z-index: 2;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
    .logo-list-cta picture {
        position: relative; }
    .logo-list-cta .wrapper {
        height: 4.5vw;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
    .logo-list-cta li {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
        .logo-list-cta li[class^=logo-]::before {
            background: #ffffff;
            position: absolute;
            content: '';
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            border: 1px solid rgba(200, 170, 124, 0.2);
            border-radius: 50%; }
    .logo-list-cta .button-li {
        position: relative;
        overflow: visible; }
    @media (min-width: 769px) {
        .logo-list-cta {
            margin-top: clamp(40px, 6.25rem, 6.25rem);
            margin-bottom: clamp(40px, 4.0625rem, 4.0625rem);
            width: 45rem;
            grid-row-gap: 1.875rem;
            grid-template-columns: repeat(4, 1fr); }
            .logo-list-cta .logo-0 {
                grid-row: 1;
                grid-column: 2/3; }
            .logo-list-cta .logo-1 {
                grid-row: 1;
                grid-column: 4;
                left: 2.85rem;
                top: 2.5rem; }
            .logo-list-cta .logo-2 {
                grid-row: 2;
                grid-column: 1; }
            .logo-list-cta .logo-3 {
                grid-row: 2;
                grid-column: 3/4; }
            .logo-list-cta .logo-4 {
                grid-row: 3;
                grid-column: 4; }
            .logo-list-cta .logo-5 {
                grid-row: 3;
                grid-column: 2/3; }
            .logo-list-cta .button-li {
                grid-row: 3;
                grid-column: 4; }
                .logo-list-cta .button-li .btn {
                    position: absolute; }
            .logo-list-cta li {
                width: clamp(12.5vw, 11.25rem, 11.25rem);
                height: clamp(12.5vw, 11.25rem, 11.25rem);
                max-height: 6.5vw; }
            .logo-list-cta li[class^=logo-]::before {
                width: clamp(12.375vw, 10.625rem, 10.625rem);
                height: clamp(12.375vw, 10.625rem, 10.625rem); } }
    @media (max-width: 768px) {
        .logo-list-cta {
            width: 100%;
            grid-template-columns: repeat(2, 1fr);
            grid-row-gap: clamp(20px, 5.12821vw, 40px);
            grid-column-gap: clamp(20px, 5.12821vw, 40px); }
            .logo-list-cta li,
            .logo-list-cta li.button-li,
            .logo-list-cta li.button-li .btn.size-xxl {
                width: clamp(3.75rem, 41.70833vw, 250px);
                height: clamp(3.75rem, 41.70833vw, 250px); }
            .logo-list-cta[class^=logo-]::before {
                width: clamp(12.375vw, 10.625rem, 10.625rem);
                height: clamp(12.375vw, 10.625rem, 10.625rem); }
            .logo-list-cta .button-li {
                grid-column: 1/3; }
            .logo-list-cta .gc-2-half,
            .logo-list-cta .gc-2,
            .logo-list-cta svg.gc-2-half,
            .logo-list-cta svg.gc-2 {
                width: clamp(40px, 29.16667vw, 130px); }
            .logo-list-cta img.gc-1-half {
                width: clamp(40px, 14.58333vw, 135px); }
            .logo-list-cta .gc-1-half,
            .logo-list-cta svg.gc-1-half {
                width: clamp(40px, 22.91667vw, 135px); }
            .logo-list-cta .gc-1,
            .logo-list-cta svg.gc-1 {
                width: clamp(40px, 16.66667vw, 100px); }
            .logo-list-cta .gc-1-seven-five,
            .logo-list-cta svg.gc-1-seven-five {
                width: clamp(40px, 23.95833vw, 130px); }
            .logo-list-cta img,
            .logo-list-cta svg {
                margin: auto; } }

.about-hero .row,
.about-team .row {
    position: relative; }

.about-hero {
    margin: 0 auto;
    max-width: 560px;
    padding-top: 70px;
    padding-bottom: 100px;
    text-align: center; }
    @media (max-width: 1024px) {
        .about-hero {
            padding-left: 20px;
            padding-right: 20px;
            padding-bottom: 50px !important; } }
    .about-hero h1 {
        margin-bottom: 38px; }
    .about-hero__copy {
        color: #52471E;
        font-size: 1.125rem; }
        @media (max-width: 1024px) {
            .about-hero__copy {
                font-size: 18px; } }
    @media (min-width: 769px) {
        .about-hero .icon-illustration-flowers {
            position: absolute;
            left: -1.04167vw;
            width: 37.5vw;
            top: -140px;
            opacity: 1;
            -moz-transform: rotate(34.26deg);
            -o-transform: rotate(34.26deg);
            -ms-transform: rotate(34.26deg);
            -webkit-transform: rotate(34.26deg);
            transform: rotate(34.26deg); }
            .about-hero .icon-illustration-flowers img {
                opacity: 0.5; } }
    @media (max-width: 768px) {
        .about-hero {
            padding-top: 200px;
            padding-bottom: 0;
            text-align: center; }
            .about-hero h1 {
                margin-left: 0;
                margin-bottom: 30px; }
            .about-hero .icon-illustration-flowers {
                width: 100vw;
                top: -200px;
                left: -22.5rem;
                opacity: 0.3;
                z-index: -1;
                -moz-transform: rotate(102deg);
                -o-transform: rotate(102deg);
                -ms-transform: rotate(102deg);
                -webkit-transform: rotate(102deg);
                transform: rotate(102deg); } }

.about-history h5 {
    margin-bottom: 50px; }

.about-history .icon-illustration-leafs-01 {
    opacity: 1;
    -moz-transform: rotate(102.9deg);
    -o-transform: rotate(102.9deg);
    -ms-transform: rotate(102.9deg);
    -webkit-transform: rotate(102.9deg);
    transform: rotate(102.9deg); }
    .about-history .icon-illustration-leafs-01 img {
        opacity: 0.5; }

.home-hero .icon-ligature {
    display: block;
    margin-left: auto;
    margin-right: auto; }
    .home-hero .icon-ligature + p {
        text-transform: uppercase;
        text-align: center; }

.icon-and-copy .icon-illustration-leafs-01 {
    top: 6.81250rem;
    width: 34.2825rem;
    left: -2.08333vw; }

@media (min-width: 769px) {
    .icon-and-copy .subtitle {
        margin-bottom: 40px; } }

@media (max-width: 768px) {
    .icon-and-copy .subtitle {
        margin-bottom: 30px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
    .icon-and-copy h5 {
        margin-bottom: 30px; }
    .icon-and-copy p {
        margin-bottom: 0; } }

.team-hero {
    background: #C8AA7C; }
    .team-hero h1 {
        margin-bottom: 25px; }
    .team-hero .icon-illustration-team-hero {
        position: absolute;
        left: 62.5vw;
        opacity: 1;
        top: 50px; }
        .team-hero .icon-illustration-team-hero img {
            opacity: 0.75; }

.portfolio-list-section {
    position: relative;
    padding-bottom: clamp(60px, 12.5vw, 200px); }

@media (min-width: 769px) {
    .portfolio-hero,
    .team-hero {
        padding-bottom: clamp(200px, 23.75rem, calc(120px + 14.750rem)); } }

@media (max-width: 768px) {
    .portfolio-hero .icon-illustration-team-hero,
    .team-hero .icon-illustration-team-hero {
        width: 75vw;
        left: 33.33333vw; }
        .portfolio-hero .icon-illustration-team-hero img,
        .team-hero .icon-illustration-team-hero img {
            opacity: 0.3; } }

@media (max-width: 1024px) and (min-width: 769px) {
    .portfolio-hero .g-6,
    .team-hero .g-6 {
        width: 37.5rem; } }

@media (max-width: 768px) and (min-width: 577px) {
    .portfolio-hero .g-6,
    .team-hero .g-6 {
        width: 60rem; } }

@media (max-width: 768px) and (min-width: 577px) {
    .team-hero {
        padding-top: clamp(100px, 32.10256vw, 32.10256vw);
        padding-bottom: clamp(400px, 36.875rem, 36.875rem); } }

@media (max-width: 576px) {
    .team-hero {
        padding-top: clamp(100px, 64.10256vw, 200px);
        padding-bottom: clamp(100px, 108.20513vw, 300px); } }

@media (max-width: 768px) and (min-width: 577px) {
    .portfolio-hero {
        padding-top: clamp(100px, 28.64583vw, 200px);
        padding-bottom: clamp(200px, 52.08333vw, 500px); } }

@media (max-width: 576px) {
    .portfolio-hero {
        padding-top: clamp(100px, 56.41026vw, 200px);
        padding-bottom: clamp(100px, 102.5641vw, 275px); } }

.team-list-section {
    position: relative;
    z-index: 2; }

.team-list,
.team-list-slider__track {
    list-style: none;
    display: grid;
    column-gap: 3.75rem;
    position: relative; }
    .team-list .team-item,
    .team-list-slider__track .team-item {
        position: relative; }
        .team-list .team-item h5,
        .team-list .team-item p,
        .team-list-slider__track .team-item h5,
        .team-list-slider__track .team-item p {
            text-align: center;
            padding-left: 1.875rem;
            padding-right: 1.875rem; }
        .team-list .team-item p,
        .team-list-slider__track .team-item p {
            text-transform: uppercase; }
        .team-list .team-item h5,
        .team-list-slider__track .team-item h5 {
            margin-bottom: 5px; }
        .team-list .team-item .image-wrapper,
        .team-list .team-item .team-name,
        .team-list-slider__track .team-item .image-wrapper,
        .team-list-slider__track .team-item .team-name {
            position: relative; }
        .team-list .team-item .team-name i,
        .team-list-slider__track .team-item .team-name i {
            position: absolute;
            top: 0;
            left: 50%;
            display: block;
            margin: 0 auto;
            z-index: 10;
            background: #FBF1E6;
            border-radius: 50%;
            width: 36px;
            height: 36px;
            transform: translate(-50%, -80%); }
            .team-list .team-item .team-name i span,
            .team-list-slider__track .team-item .team-name i span {
                position: absolute;
                top: 50%;
                left: 50%;
                width: 40%;
                background-color: #52471E;
                height: 2px;
                transform: translate(-50%, -50%); }
                .team-list .team-item .team-name i span:last-of-type,
                .team-list-slider__track .team-item .team-name i span:last-of-type {
                    -moz-transform: translate(-50%, -50%) rotate(90deg);
                    -o-transform: translate(-50%, -50%) rotate(90deg);
                    -ms-transform: translate(-50%, -50%) rotate(90deg);
                    -webkit-transform: translate(-50%, -50%) rotate(90deg);
                    transform: translate(-50%, -50%) rotate(90deg); }
        .team-list .team-item .image-wrapper,
        .team-list-slider__track .team-item .image-wrapper {
            overflow: hidden; }
            .team-list .team-item .image-wrapper picture,
            .team-list .team-item .image-wrapper picture img,
            .team-list-slider__track .team-item .image-wrapper picture,
            .team-list-slider__track .team-item .image-wrapper picture img {
                position: absolute;
                width: 100%;
                height: 100%;
                display: block;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                margin: auto; }
            .team-list .team-item .image-wrapper picture.regular,
            .team-list-slider__track .team-item .image-wrapper picture.regular {
                z-index: 2; }
            .team-list .team-item .image-wrapper picture.hover,
            .team-list-slider__track .team-item .image-wrapper picture.hover {
                z-index: 2; }
            .team-list .team-item .image-wrapper svg,
            .team-list-slider__track .team-item .image-wrapper svg {
                position: absolute;
                width: 100%;
                height: auto;
                bottom: -1px;
                left: 0;
                z-index: 3;
                overflow: visible; }
    .team-list .icon-plus,
    .team-list-slider__track .icon-plus {
        width: clapm(13px, 0.8125rem, 0.8125rem);
        height: clapm(13px, 0.8125rem, 0.8125rem);
        margin-left: auto;
        margin-right: auto; }
    .team-list i,
    .team-list-slider__track i {
        width: clamp(18px, 2.25rem, 2.25rem);
        height: clamp(18px, 2.25rem, 2.25rem);
        background: #FBF1E6;
        border-radius: 50%;
        bottom: clamp(-9px, -0.5625rem, -0.5625rem);
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
    @media (min-width: 1025px) {
        .team-list .team-item .inner:hover,
        .team-list-slider__track .team-item .inner:hover {
            cursor: pointer; }
            .team-list .team-item .inner:hover .image-wrapper i,
            .team-list .team-item .inner:hover .image-wrapper .light-wave,
            .team-list-slider__track .team-item .inner:hover .image-wrapper i,
            .team-list-slider__track .team-item .inner:hover .image-wrapper .light-wave {
                opacity: 1; } }
    @media (min-width: 769px) {
        .team-list,
        .team-list-slider__track {
            padding-left: 7.5rem;
            padding-right: 7.5rem;
            grid-template-columns: 18.75rem 18.75rem 18.75rem;
            row-gap: 3.75rem;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center; }
            .team-list .image-wrapper,
            .team-list-slider__track .image-wrapper {
                padding-bottom: 25rem; }
            .team-list h5,
            .team-list-slider__track h5 {
                margin-top: 20px; } }
    @media (max-width: 768px) and (min-width: 577px) {
        .team-list,
        .team-list-slider__track {
            grid-template-columns: 39.375rem 39.375rem; }
            .team-list .g-5,
            .team-list-slider__track .g-5 {
                width: 39.375rem; }
            .team-list .image-wrapper,
            .team-list-slider__track .image-wrapper {
                padding-bottom: 58.4vw; } }
    @media (max-width: 768px) {
        .team-list,
        .team-list-slider__track {
            padding-left: 3.75rem;
            padding-right: 3.75rem;
            row-gap: clamp(30px, 3.75rem, 3.75rem); }
            .team-list .g-6,
            .team-list-slider__track .g-6 {
                width: 100%;
                margin-left: 0; }
            .team-list h5,
            .team-list-slider__track h5 {
                margin-top: 10px; } }
    @media (max-width: 576px) {
        .team-list,
        .team-list-slider__track {
            grid-template-columns: 82.5rem; }
            .team-list .g-5,
            .team-list-slider__track .g-5 {
                width: 82.5rem; }
            .team-list .image-wrapper,
            .team-list-slider__track .image-wrapper {
                padding-bottom: 115vw; } }

.sub-team-list {
    background: #FBF1E6;
    margin-top: 0;
    overflow: hidden; }
    .sub-team-list .image-wrapper svg path {
        fill: #FBF1E6; }
    .sub-team-list .team-list-slider div .team-name i {
        background: #ffffff; }
    .sub-team-list h2 {
        display: flex;
        justify-content: space-between;
        margin-bottom: 30px;
        margin-left: 8.5%;
        position: relative; }
        @media (max-width: 599px) {
            .sub-team-list h2 {
                margin-left: 3.75rem; } }
    .sub-team-list .team-list-slider {
        margin-left: 8.5%;
        position: relative; }
        @media (max-width: 599px) {
            .sub-team-list .team-list-slider {
                margin-left: 3.75rem; } }
        .sub-team-list .team-list-slider__track {
            cursor: initial !important;
            display: flex;
            gap: 0;
            justify-content: flex-start;
            padding: 0; }
            .sub-team-list .team-list-slider__track .team-item {
                flex-shrink: 0;
                width: calc(300px + 4vw); }
                @media (max-width: 1280px) {
                    .sub-team-list .team-list-slider__track .team-item {
                        width: calc(266px + 4vw); } }
                @media (max-width: 820px) {
                    .sub-team-list .team-list-slider__track .team-item {
                        width: calc(170px + 4vw); } }
                @media (max-width: 599px) {
                    .sub-team-list .team-list-slider__track .team-item {
                        width: calc((100vw - 7.5rem + 4.1vw)/2); } }
                .sub-team-list .team-list-slider__track .team-item .main-wrapper {
                    padding-right: 4vw; }
                .sub-team-list .team-list-slider__track .team-item .inner {
                    cursor: auto !important; }
                .sub-team-list .team-list-slider__track .team-item .image-wrapper {
                    padding-bottom: 0;
                    height: 400px; }
                    .sub-team-list .team-list-slider__track .team-item .image-wrapper img {
                        object-fit: cover; }
                    @media (max-width: 1280px) {
                        .sub-team-list .team-list-slider__track .team-item .image-wrapper {
                            height: 355px; } }
                    @media (max-width: 820px) {
                        .sub-team-list .team-list-slider__track .team-item .image-wrapper {
                            height: 227px; } }
    .sub-team-list .team-control {
        display: flex;
        position: absolute;
        right: 60px;
        right: 4vw;
        bottom: 0; }
        @media (max-width: 599px) {
            .sub-team-list .team-control {
                right: 3.75rem; } }
    .sub-team-list .team-control-left,
    .sub-team-list .team-control-right {
        align-items: center;
        background: white;
        cursor: pointer;
        display: inline-flex;
        justify-content: center;
        text-indent: -9999px;
        width: 60px;
        height: 60px; }
        @media (max-width: 599px) {
            .sub-team-list .team-control-left,
            .sub-team-list .team-control-right {
                width: 40px;
                height: 40px; } }
        .sub-team-list .team-control-left svg,
        .sub-team-list .team-control-right svg {
            pointer-events: none;
            transition: all 0.6s cubic-bezier(0.75, 0.18, 0.3, 0.77); }
        .sub-team-list .team-control-left[data-disabled="true"],
        .sub-team-list .team-control-right[data-disabled="true"] {
            pointer-events: none; }
            .sub-team-list .team-control-left[data-disabled="true"] svg,
            .sub-team-list .team-control-right[data-disabled="true"] svg {
                opacity: 0.3; }

@media (min-width: 1441px) {
    .team-list,
    .list-portfolio-posts {
        grid-template-columns: 20.83333% 20.83333% 20.83333%; }
        .team-list .image-wrapper,
        .list-portfolio-posts .image-wrapper {
            padding-bottom: 133.5%; } }

@media (min-width: 769px) {
    .team-list,
    .list-portfolio-posts {
        margin-top: -15.62500000000000000000rem; } }

@media (max-width: 768px) and (min-width: 577px) {
    .team-list,
    .list-portfolio-posts {
        margin-top: -32.87179487179487179487vw; } }

@media (max-width: 576px) {
    .team-list,
    .list-portfolio-posts {
        margin-top: -220px; } }

.team-list-section .background {
    height: 43%; }

.careers-cta .g-5::before {
    z-index: -1;
    position: absolute;
    content: '';
    display: block;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100vw;
    background: #FBF1E6; }

.careers-cta {
    z-index: 1; }
    .careers-cta [class^=g-] {
        z-index: 2;
        text-align: center; }
    .careers-cta .subtitle {
        text-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
    .careers-cta h5 {
        margin-top: 10px;
        margin-bottom: 30px; }
    .careers-cta picture {
        position: relative;
        padding-bottom: 44.31vw;
        min-height: 400px; }
        .careers-cta picture img {
            object-fit: cover;
            position: absolute;
            display: block;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            width: 100%;
            height: 100%; }
    @media (max-width: 768px) {
        .careers-cta .f-column {
            padding-top: 40px;
            padding-bottom: 60px; }
        .careers-cta.events-cta .f-column {
            padding-top: 0;
            padding-bottom: 0; } }
    @media (max-width: 576px) {
        .careers-cta picture {
            padding-bottom: 41.03vh;
            min-height: 200px; } }

.portfolio-hero {
    background: #C8AA7C; }

* {
    scroll-behavior: smooth; }

.brand-hero {
    background: #C8AA7C;
    color: white;
    padding-top: 180px;
    padding-bottom: 100px;
    position: relative;
    text-align: center; }
    @media (max-width: 599px) {
        .brand-hero {
            padding-top: 130px;
            padding-bottom: 60px; } }
    .brand-hero__image {
        position: absolute;
        top: 20px;
        left: 0;
        width: 27vw; }
    .brand-hero__title {
        color: white;
        margin-bottom: 4vw; }
        @media (max-width: 599px) {
            .brand-hero__title {
                margin-bottom: 50px; } }
    .brand-hero__links {
        align-items: center;
        display: flex;
        justify-content: center;
        list-style: none; }
        @media (max-width: 599px) {
            .brand-hero__links {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 30px; } }
    .brand-hero__link {
        margin: 0 30px; }
        .brand-hero__link-anchor {
            color: white;
            font-family: "SweetSansPro-Regular";
            font-size: 12px;
            line-height: 14px;
            letter-spacing: 1px;
            text-transform: uppercase; }

.brand-collection {
    padding-top: clamp(30px, 7vw, 7vw); }
    .brand-collection--bottom-space {
        padding-bottom: 12vw; }
    .brand-collection__container {
        max-width: calc(100vw - 120px);
        margin: 0 auto; }
        @media (max-width: 1024px) {
            .brand-collection__container {
                max-width: calc(100vw - 40px); } }
    .brand-collection__header {
        align-items: center;
        display: flex;
        padding-bottom: clamp(30px, 1.5vw, 1.5vw); }
        .brand-collection__header--aic {
            align-items: center; }
    .brand-collection__main-logo {
        margin-right: clamp(20px, 2vw, 2vw);
        object-fit: contain;
        width: 120px;
        height: 120px; }
        @media (max-width: 599px) {
            .brand-collection__main-logo {
                width: 100px;
                height: 100px; } }
    .brand-collection__title {
        max-width: 48vw; }
        @media (max-width: 1024px) {
            .brand-collection__title {
                max-width: 100%; } }
    .brand-collection__content {
        border-top: 1px solid #C8AA7C;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 4vw;
        padding-top: clamp(30px, 3.5vw, 3.5vw); }
        @media (max-width: 1024px) {
            .brand-collection__content {
                grid-template-columns: repeat(1, 1fr); } }
        .brand-collection__content-col {
            min-width: 0; }
    .brand-collection__main-img {
        margin-bottom: 4vw;
        max-width: 100%; }
    .brand-collection__subtitle {
        font-family: "SweetSansPro-Bold";
        font-size: clamp(20px, 1.4vw, 1.4vw);
        letter-spacing: 1px;
        margin-bottom: clamp(30px, 3vw, 3vw); }
    .brand-collection__font {
        display: flex;
        gap: clamp(30px, 2.5vw, 2.5vw);
        padding-right: 3vw; }
        @media (max-width: 1280px) {
            .brand-collection__font {
                padding-right: 2vw; } }
        @media (max-width: 1024px) {
            .brand-collection__font {
                padding-right: 0; } }
        @media (max-width: 599px) {
            .brand-collection__font {
                flex-direction: column;
                gap: 10px; } }
        .brand-collection__font-col--first {
            flex: 0 0 clamp(150px, 10vw, 10vw);
            white-space: nowrap; }
            @media (max-width: 599px) {
                .brand-collection__font-col--first {
                    flex: 0 0 100%; } }
        .brand-collection__font-subtitle {
            color: #C8AA7C;
            font-family: "SweetSansPro-Regular";
            font-size: clamp(12px, 0.85vw, 0.85vw);
            letter-spacing: 0.6px;
            line-height: 1.5;
            text-transform: uppercase;
            white-space: nowrap; }
        .brand-collection__font-a {
            font-size: clamp(100px, 11.11vw, 11.11vw);
            line-height: 1; }
        .brand-collection__font-title {
            margin-top: 2.1vw;
            margin-bottom: 1vw; }
        .brand-collection__font-copy {
            font-size: clamp(20px, 1.5vw, 1.5vw);
            word-break: break-all; }
        .brand-collection__font + * {
            margin-top: 1.5vw; }
            @media (max-width: 599px) {
                .brand-collection__font + * {
                    margin-top: 30px; } }
    .brand-collection__logos {
        align-items: center;
        display: grid;
        gap: 30px;
        grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
        margin-bottom: 4vw; }
        @media (max-width: 599px) {
            .brand-collection__logos {
                grid-template-columns: repeat(2, 1fr);
                gap: 20px; } }
    .brand-collection__logo-wrapper {
        display: flex;
        align-content: center;
        justify-content: center; }
    .brand-collection__logo {
        max-width: 100%; }
    .brand-collection__colors-title {
        color: #C8AA7C;
        font-family: "SweetSansPro-Regular";
        font-size: clamp(12px, 0.85vw, 0.85vw);
        letter-spacing: 0.6px;
        line-height: 1.5;
        margin-bottom: 1vw;
        text-transform: uppercase;
        white-space: nowrap; }
    .brand-collection__colors + * {
        margin-top: 3vw; }
        @media (max-width: 599px) {
            .brand-collection__colors + * {
                margin-top: 30px; } }
    .brand-collection .color-list {
        display: grid;
        gap: 2vw;
        grid-template-columns: repeat(3, 1fr); }
        @media (max-width: 599px) {
            .brand-collection .color-list {
                gap: 20px 10px;
                grid-template-columns: repeat(2, 1fr); } }
        .brand-collection .color-list__item-hex {
            margin-bottom: 1vw;
            padding-top: 51%; }
            .brand-collection .color-list__item-hex--white {
                border: 1px solid #F2F1E6; }
        .brand-collection .color-list__item-title {
            font-size: clamp(14px, 1vw, 1vw);
            letter-spacing: 0.5px;
            margin-bottom: 1.5vw;
            text-transform: uppercase; }
            @media (max-width: 599px) {
                .brand-collection .color-list__item-title {
                    letter-spacing: 0; } }
        .brand-collection .color-list__item-copy p {
            font-size: clamp(12px, 0.85vw, 0.85vw);
            letter-spacing: 0.5px;
            text-transform: uppercase; }
            @media (max-width: 599px) {
                .brand-collection .color-list__item-copy p {
                    letter-spacing: 0; } }
        .brand-collection .color-list--secondary {
            grid-template-columns: repeat(1, 1fr); }
            .brand-collection .color-list--secondary .color-list__item {
                display: flex; }
                .brand-collection .color-list--secondary .color-list__item-hex {
                    flex: 0 0 16.8vw;
                    margin-right: 3.5vw;
                    padding-top: 17.5%;
                    width: 16.8vw; }
                    @media (max-width: 599px) {
                        .brand-collection .color-list--secondary .color-list__item-hex {
                            flex: 0 0 50%;
                            width: 50%; } }
        .brand-collection .color-list--full-width {
            grid-template-columns: repeat(1, 1fr);
            margin-top: 2vw; }
            .brand-collection .color-list--full-width .color-list__item-hex {
                padding-top: 16%; }
    .brand-collection__footer {
        background: #FBF1E6;
        margin-top: 3vw;
        padding: 2vw 4.2vw 4vw; }
        @media (max-width: 599px) {
            .brand-collection__footer {
                margin-top: 30px;
                padding: 30px 15px; } }
        .brand-collection__footer--charleston {
            background: #EAE6DD; }
        .brand-collection__footer--riviera {
            background: #F2F1E6; }
        .brand-collection__footer--sorelle {
            background: rgba(2, 46, 34, 0.1); }
        .brand-collection__footer-title {
            color: #C8AA7C;
            font-family: "SweetSansPro-Regular";
            font-size: clamp(12px, 0.85vw, 0.85vw);
            letter-spacing: 0.6px;
            line-height: 1.5;
            margin-bottom: clamp(30px, 2vw, 2vw);
            text-transform: uppercase;
            white-space: nowrap; }
        .brand-collection__footer-list {
            display: grid;
            gap: 1.5vw 4vw;
            grid-template-columns: repeat(2, 1fr); }
            @media (max-width: 599px) {
                .brand-collection__footer-list {
                    grid-template-columns: repeat(1, 1fr);
                    gap: 15px; } }
            .brand-collection__footer-list-item {
                align-items: center;
                border-bottom: 1px solid rgba(200, 170, 124, 0.2);
                display: flex;
                justify-content: space-between;
                padding-bottom: 1.5vw; }
                @media (max-width: 599px) {
                    .brand-collection__footer-list-item {
                        padding-bottom: 15px; } }
                .brand-collection__footer-list-item-title {
                    font-size: clamp(18px, 1.7vw, 1.7vw);
                    line-height: 1.5; }
                .brand-collection__footer-list-item-link {
                    padding: 1vw 2vw; }
                    @media (max-width: 599px) {
                        .brand-collection__footer-list-item-link {
                            padding: 15px 30px; } }
                    .brand-collection__footer-list-item-link svg {
                        margin-right: 10px;
                        position: relative; }

.portfolio-hero h1,
.portfolio-hero .c-120 {
    text-align: center;
    display: block;
    width: 100%;
    margin-bottom: 20px; }

.contact-cta {
    background: #FBF1E6;
    z-index: 2;
    padding: 0; }
    .contact-cta h2 {
        padding-bottom: 20px; }
    .contact-cta .btn {
        margin-top: 30px; }

.press-page-cta {
    background: #FBF1E6; }

.events-hero,
.press-hero {
    overflow: hidden;
    min-height: 100vh;
    background: #2D2A1F;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .events-hero h2,
    .press-hero h2 {
        z-index: 2;
        color: #ffffff; }
    .events-hero .btn,
    .press-hero .btn {
        margin-top: 30px; }
    .events-hero .titles li,
    .events-hero .inner-wrapper picture li,
    .events-hero .dates li,
    .press-hero .titles li,
    .press-hero .inner-wrapper picture li,
    .press-hero .dates li {
        pointer-events: none; }
        .events-hero .titles li.active,
        .events-hero .inner-wrapper picture li.active,
        .events-hero .dates li.active,
        .press-hero .titles li.active,
        .press-hero .inner-wrapper picture li.active,
        .press-hero .dates li.active {
            pointer-events: all; }
    @media (min-width: 1025px) {
        .events-hero,
        .press-hero {
            min-height: 90vh;
            max-height: 1100px; } }

@media (min-width: 1025px) {
    .press-hero {
        min-height: 77.777vh; } }

@media (max-width: 768px) {
    .press-hero,
    .press-hero .row,
    .press-hero .featured-content,
    .post-press-hero {
        min-height: 100vh; } }

.list-events {
    list-style: none;
    padding-bottom: clamp(100px, 13.4375rem, 13.4375rem);
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between; }
    .list-events li {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        justify-content: flex-start;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .list-events .absolute-link {
        z-index: 3; }
    .list-events li,
    .list-events .image-wrapper {
        position: relative; }
    .list-events .bottom {
        text-align: center;
        width: 100%;
        background: #ffffff; }
    .list-events .subtitle {
        text-transform: uppercase;
        margin-top: 5px; }
    .list-events .size-lg {
        position: absolute;
        display: block;
        margin: auto;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 3;
        opacity: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex; }
    .list-events img {
        -moz-transition: 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -o-transition: 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        -webkit-transition: 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: 450ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }
    .list-events picture {
        overflow: hidden; }
    @media (min-width: 1025px) {
        .list-events li:hover:not(.remove-link) .size-lg {
            opacity: 1; }
        .list-events li:hover:not(.remove-link) img {
            -moz-transform: scale(1.05);
            -o-transform: scale(1.05);
            -ms-transform: scale(1.05);
            -webkit-transform: scale(1.05);
            transform: scale(1.05); } }
    @media (min-width: 769px) {
        .list-events {
            padding-left: 7.5rem;
            padding-right: 7.5rem; }
            .list-events li {
                width: 33.75rem; }
            .list-events li:nth-of-type(even) {
                margin-top: 7.5rem; }
            .list-events .bottom {
                padding: 2.5rem; }
            .list-events h3 {
                margin-bottom: 2.50000000000000000000rem; } }
    @media (max-width: 768px) {
        .list-events li {
            width: 82.5rem;
            margin-bottom: 30px; }
            .list-events li:last-of-type {
                margin-bottom: 0; }
        .list-events .bottom {
            padding: 30px 3.75rem; }
        .list-events h3 {
            margin-bottom: 30px; } }

.just-copy {
    padding-top: clamp(80px, 6.94vw, 120px);
    padding-bottom: clamp(80px, 6.94vw, 120px); }
    .just-copy h5 {
        line-height: 1.4166; }

.just-copy,
.events-hero {
    text-align: center; }

.events-list-section {
    position: relative; }
    .events-list-section::before {
        position: absolute;
        content: '';
        display: block;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        height: calc(100% - 25.31250000000000000000rem);
        width: 100%;
        background: #FBF1E6; }
    .events-list-section .btn.size-lg svg {
        position: relative;
        z-index: 2; }

.list-partners svg {
    z-index: 3; }

.list-partners {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .list-partners li {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
        .list-partners li::before {
            position: absolute;
            content: '';
            display: block;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            border-radius: 50%;
            background: #FBF1E6; }
    .list-partners img {
        margin-left: auto;
        margin-right: auto; }
    .list-partners picture {
        position: relative; }
    @media (min-width: 769px) {
        .list-partners {
            padding-bottom: clamp(100px, 6.875rem, 6.875rem); }
            .list-partners li {
                min-width: 20.83333vw;
                min-height: 16.66667vw;
                margin: 0 0 3.75rem; }
                .list-partners li::before {
                    width: 16.66667vw;
                    height: 16.66667vw; } }
    @media (max-width: 768px) {
        .list-partners {
            padding-bottom: clamp(70px, 6.875rem, 6.875rem); }
            .list-partners li {
                min-width: 45.83333vw;
                min-height: 41.66667vw;
                margin: 0 0 30px; }
                .list-partners li::before {
                    width: 41.66667vw;
                    height: 41.66667vw; }
            .list-partners svg,
            .list-partners picture img {
                max-width: 200px;
                margin-left: auto;
                margin-right: auto; }
            .list-partners .gc-2-half,
            .list-partners .gc-2-seven-five {
                width: 27.08333vw; }
            .list-partners .gc-1-two-five {
                width: 12.5vw; }
            .list-partners .gc-1-seven-five {
                width: 18.75vw; }
            .list-partners .gc-2 {
                width: 22.91667vw; }
            .list-partners .gc-1-half {
                width: 10.41667vw; }
            .list-partners .gc-1-half {
                width: 16.66667vw; } }

@media (min-width: 769px) {
    #partners-hero {
        padding-bottom: 80px; } }

@media (max-width: 768px) {
    #partners-hero {
        padding-top: clamp(110px, 7.63889vw, 7.63889vw);
        margin-bottom: 50px; } }

body.contact main {
    overflow: visible; }

body.contact .icon-pen {
    display: none; }

.contact-hero,
.donate-hero {
    text-align: center;
    position: relative;
    overflow: hidden; }
    .contact-hero picture img,
    .donate-hero picture img {
        margin: 0;
        width: 360px; }
    .contact-hero .row:first-of-type .g-5:first-of-type picture,
    .donate-hero .row:first-of-type .g-5:first-of-type picture {
        position: absolute; }
    .contact-hero .row:first-of-type .g-7 .gc-5,
    .donate-hero .row:first-of-type .g-7 .gc-5 {
        position: absolute; }
    .contact-hero .g-5,
    .donate-hero .g-5 {
        position: relative; }
    .contact-hero .side-left,
    .donate-hero .side-left {
        position: absolute;
        top: clamp(200px, 27.69vh, 300px);
        left: 0;
        width: auto; }
    .contact-hero .side-right,
    .donate-hero .side-right {
        position: absolute;
        top: clamp(200px, 27.69vh, 300px);
        right: 0;
        width: auto; }
    .contact-hero__content,
    .donate-hero__content {
        max-width: 420px;
        margin: 0 auto; }
    .contact-hero .icon-illustration-babies-breath-contact,
    .donate-hero .icon-illustration-babies-breath-contact {
        opacity: 1;
        left: -6.25vw;
        -moz-transform: rotate(30deg);
        -o-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg); }
        .contact-hero .icon-illustration-babies-breath-contact img,
        .donate-hero .icon-illustration-babies-breath-contact img {
            opacity: 0.5; }
    .contact-hero .row:nth-of-type(2),
    .donate-hero .row:nth-of-type(2) {
        position: relative;
        z-index: 2; }
    .contact-hero .list-contact a,
    .contact-hero address,
    .donate-hero .list-contact a,
    .donate-hero address {
        font-size: 20px;
        line-height: 28px;
        font-family: "Violet-JW-Serif-Regular";
        font-weight: 400;
        font-style: normal; }
    .contact-hero .icon-illustration-babies-breath-contact,
    .donate-hero .icon-illustration-babies-breath-contact {
        z-index: -1;
        will-change: auto; }
    .contact-hero .separator,
    .donate-hero .separator {
        width: clamp(20px, 1.25rem, 1.25rem);
        height: 2px;
        display: block;
        margin: 20px auto 30px;
        text-align: center; }
        .contact-hero .separator.gold,
        .donate-hero .separator.gold {
            background: #C8AA7C; }
        @media (max-width: 1024px) and (min-width: 769px) {
            .contact-hero .separator .sub-page-hero [class^=g-],
            .donate-hero .separator .sub-page-hero [class^=g-] {
                width: inherit; } }
    @media (min-width: 769px) {
        .contact-hero,
        .donate-hero {
            padding-top: 40px; }
            .contact-hero .list-contact,
            .donate-hero .list-contact {
                margin-bottom: 55px; }
            .contact-hero h1,
            .donate-hero h1 {
                margin-top: 70px;
                margin-bottom: 50px; } }
    @media (max-width: 1024px) and (min-width: 769px) {
        .contact-hero,
        .donate-hero {
            padding-top: 0; }
            .contact-hero .row:first-of-type .g-10,
            .donate-hero .row:first-of-type .g-10 {
                width: 41.25rem; }
            .contact-hero .row:nth-of-type(2) .form-container,
            .donate-hero .row:nth-of-type(2) .form-container {
                width: 52.5rem; }
            .contact-hero .side-right,
            .contact-hero .side-right,
            .donate-hero .side-right,
            .donate-hero .side-right {
                display: none;
                visibility: hidden; } }
    @media (max-width: 768px) and (min-width: 501px) {
        .contact-hero,
        .donate-hero {
            padding-top: clamp(100px, 31.28205vw, 200px); } }
    @media (max-width: 768px) {
        .contact-hero,
        .donate-hero {
            padding-bottom: 100px; }
            .contact-hero .row:first-of-type,
            .donate-hero .row:first-of-type {
                padding-bottom: 60px; }
            .contact-hero h1,
            .donate-hero h1 {
                margin-bottom: 40px; }
            .contact-hero .list-contact,
            .donate-hero .list-contact {
                margin-bottom: 50px; }
            .contact-hero .icon-illustration-babies-breath-contact,
            .donate-hero .icon-illustration-babies-breath-contact {
                left: -7.5rem;
                width: 60rem;
                top: 200px;
                -moz-transform: matrix(-0.76, -0.63, -0.66, 0.76, 0, 0);
                -o-transform: matrix(-0.76, -0.63, -0.66, 0.76, 0, 0);
                -ms-transform: matrix(-0.76, -0.63, -0.66, 0.76, 0, 0);
                -webkit-transform: matrix(-0.76, -0.63, -0.66, 0.76, 0, 0);
                transform: matrix(-0.76, -0.63, -0.66, 0.76, 0, 0); } }
    @media (max-width: 500px) {
        .contact-hero,
        .donate-hero {
            padding-top: clamp(100px, 51.28205vw, 51.28205vw); } }
    .contact-hero .donation-copy * + *,
    .donate-hero .donation-copy * + * {
        margin-top: 20px; }
    .contact-hero .donation-copy p,
    .donate-hero .donation-copy p {
        font-size: 20px; }
    .contact-hero .mt-60,
    .donate-hero .mt-60 {
        margin-top: 60px; }
    .contact-hero form .form-row > label,
    .donate-hero form .form-row > label {
        font-size: 26px;
        margin-bottom: 30px;
        letter-spacing: 0;
        text-align: left;
        text-transform: initial;
        font-family: inherit; }
        @media (max-width: 1024px) {
            .contact-hero form .form-row > label,
            .donate-hero form .form-row > label {
                font-size: 18px;
                margin-bottom: 20px;
                margin-top: 20px; } }
    .contact-hero form .input-helper,
    .donate-hero form .input-helper {
        text-align: left;
        font-size: 14px;
        display: block;
        margin: 5px 0; }
        @media (max-width: 599px) {
            .contact-hero form .input-helper,
            .donate-hero form .input-helper {
                font-size: 12px; } }
    .contact-hero .form-description,
    .donate-hero .form-description {
        margin-bottom: 50px;
        text-align: left; }
        @media (max-width: 1024px) {
            .contact-hero .form-description,
            .donate-hero .form-description {
                margin-bottom: 20px;
                margin-top: 30px; } }
        .contact-hero .form-description--extra,
        .donate-hero .form-description--extra {
            margin-top: 50px;
            margin-bottom: 30px; }
    .contact-hero .form-row.radio,
    .donate-hero .form-row.radio {
        display: flex;
        flex-direction: column;
        align-items: flex-start; }
        .contact-hero .form-row.radio .radio-group,
        .donate-hero .form-row.radio .radio-group {
            display: flex; }
            .contact-hero .form-row.radio .radio-group input,
            .donate-hero .form-row.radio .radio-group input {
                padding: 0;
                margin-right: 6px;
                width: 20px;
                height: 20px; }
        .contact-hero .form-row.radio .radio-group label,
        .donate-hero .form-row.radio .radio-group label {
            align-items: center;
            display: flex;
            font-size: 16px;
            text-align: center; }
            @media (max-width: 1024px) {
                .contact-hero .form-row.radio .radio-group label,
                .donate-hero .form-row.radio .radio-group label {
                    font-size: 12px; } }
            .contact-hero .form-row.radio .radio-group label + label,
            .donate-hero .form-row.radio .radio-group label + label {
                margin-left: 20px; }
    .contact-hero .checkbox-group label,
    .donate-hero .checkbox-group label {
        align-items: center;
        display: flex;
        font-size: 16px;
        justify-content: flex-start;
        letter-spacing: 0;
        text-align: center; }
    .contact-hero .checkbox-group input,
    .donate-hero .checkbox-group input {
        margin-right: 20px;
        padding: 0;
        width: 20px;
        height: 20px; }

.list-contact {
    list-style: none; }

.perks-section {
    padding-bottom: clamp(100px, 10.625rem, 10.625rem); }
    .perks-section .pattern {
        z-index: -1; }
    .perks-section .perks-card {
        background: #FBF1E6;
        text-align: center; }
        .perks-section .perks-card .icon-ligature {
            width: 28px;
            height: 18px;
            margin: 0 auto 20px;
            display: block; }
        .perks-section .perks-card .subtitle {
            text-transform: uppercase;
            text-align: center; }
        .perks-section .perks-card h3 {
            margin-bottom: 15px; }
    @media (max-width: 1024px) and (min-width: 769px) {
        .perks-section {
            padding-bottom: clamp(100px, 37vw, 37vw);
            margin-bottom: 40px; }
            .perks-section .perks-card {
                width: 37.5rem;
                margin-left: 37.5rem; } }
    @media (min-width: 769px) {
        .perks-section picture {
            margin-top: 8.75000000000000000000rem; }
        .perks-section .perks-card {
            position: absolute;
            left: 0;
            bottom: 0;
            padding: 3.47222rem 2.5rem; }
        .perks-section .list-perks svg {
            margin: 25px auto 5px; } }
    @media (max-width: 768px) {
        .perks-section .square {
            width: 60rem; }
        .perks-section picture {
            margin-top: 100px; }
        .perks-section .perks-card {
            width: 100%;
            margin-left: 0;
            padding: 55px 3.75rem; }
        .perks-section .list-perks svg {
            margin: 20px auto 5px; } }

.careers-hero {
    padding-top: 70px;
    padding-bottom: clamp(80px, 7.5rem, 120px); }
    @media (max-width: 768px) {
        .careers-hero {
            padding-top: 140px;
            margin-bottom: 0; }
            .careers-hero .icon-illustration-careers-hero {
                width: 58.33333vw; } }

.icon-illustration-careers-hero {
    left: -13.95833vw;
    top: 0;
    -moz-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); }

.careers-values {
    padding-bottom: 20px; }
    .careers-values .row {
        position: relative; }
    .careers-values .icon-illustration-leaves-values {
        width: 35.625rem;
        left: -1.875rem;
        opacity: 0.5;
        top: 3.75rem; }
    .careers-values .row:first-of-type {
        padding-bottom: 20px; }
    .careers-values .row:last-of-type {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center; }
        .careers-values .row:last-of-type p {
            margin-top: 35px; }
    .careers-values .list-perks {
        list-style: none;
        margin-top: 30px;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
        .careers-values .list-perks svg {
            transform: scale(1.3);
            width: 24px;
            height: 24px;
            margin-right: 14px; }
        .careers-values .list-perks svg,
        .careers-values .list-perks p {
            display: inline-block; }
        .careers-values .list-perks p {
            font-family: 'Violet-JW-Serif-Regular';
            letter-spacing: 0;
            font-size: 1.2rem; }
            @media (max-width: 1024px) {
                .careers-values .list-perks p {
                    font-size: 12px; } }
        .careers-values .list-perks li {
            width: 100%;
            margin-bottom: 12px;
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-pack: start;
            -ms-flex-pack: start;
            -webkit-justify-content: flex-start;
            -moz-justify-content: flex-start;
            justify-content: flex-start; }
    @media (max-width: 768px) {
        .careers-values.md-side-pl {
            padding-top: 0; }
        .careers-values .row:first-of-type picture {
            margin-bottom: 30px; }
        .careers-values .row:last-of-type {
            padding-top: 40px; }
        .careers-values .list-perks li {
            margin-bottom: 20px;
            -webkit-box-direction: normal;
            -webkit-box-orient: vertical;
            -webkit-flex-direction: column;
            -moz-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column; }
            .careers-values .list-perks li svg {
                margin-bottom: 10px;
                margin-right: 0; } }
    @media (max-width: 768px) {
        .careers-values {
            text-align: center; }
            .careers-values h2 {
                width: 100%;
                margin-left: 0; } }
    @media (max-width: 1024px) and (min-width: 769px) {
        .careers-values p.g-6 {
            width: 37.5rem; } }

.careers-vision {
    color: white; }
    .careers-vision h3 {
        color: white;
        margin-top: 20px; }
    .careers-vision p {
        margin-top: 20px; }
    @media (max-width: 768px) {
        .careers-vision {
            padding-top: 0; }
            .careers-vision.about-team .half-tan {
                padding-top: 0; }
            .careers-vision.about-team .half-tan.row {
                padding-bottom: 0; } }

.careers-values {
    padding-top: 120px; }
    .careers-values .title-and-copy {
        max-width: 600px;
        margin: 0 auto;
        padding-top: 100px;
        padding-bottom: 100px;
        text-align: center; }
        @media (max-width: 1024px) {
            .careers-values .title-and-copy {
                padding-top: 60px;
                padding-bottom: 40px; } }
        .careers-values .title-and-copy__title {
            margin-bottom: 35px; }
        .careers-values .title-and-copy__copy {
            font-size: 1.125rem;
            line-height: 1.44; }
            @media (max-width: 1024px) {
                .careers-values .title-and-copy__copy {
                    font-size: 16px; } }

.icon-illustration-careers-values {
    position: relative; }
    .icon-illustration-careers-values img {
        left: -4.16667%;
        position: relative;
        -moz-transform: rotate(15deg);
        -o-transform: rotate(15deg);
        -ms-transform: rotate(15deg);
        -webkit-transform: rotate(15deg);
        transform: rotate(15deg); }

.join-our-team.no-instagram,
.image-and-card.no-instagram {
    padding-bottom: 100px; }

.join-our-team .square {
    top: 0; }

.join-our-team .row {
    position: relative; }
    .join-our-team .row:nth-of-type(2) {
        padding-top: 3.75rem; }
        .join-our-team .row:nth-of-type(2) p {
            margin-top: 25px;
            margin-bottom: 40px; }

.join-our-team .join-logo {
    height: auto; }

.join-our-team .logo-box {
    position: absolute;
    background: #C8AA7C;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }

@media (min-width: 769px) {
    .join-our-team .logo-box {
        min-height: 26.25000000000000000000rem;
        bottom: -9.37500000000000000000rem; }
    .join-our-team .row:first-of-type {
        padding-top: clamp(100px, 7.5rem, 7.5rem); }
    .join-our-team .join-logo {
        width: 13.125rem; } }

@media (max-width: 768px) and (min-width: 577px) {
    .join-our-team .row:first-of-type {
        padding-top: clamp(90px, 4.5rem, 4.5rem); }
    .join-our-team .row:last-of-type {
        padding-top: 28.02564102564102564102vw; }
    .join-our-team .square {
        padding-bottom: 62.871795vw; }
    .join-our-team .logo-box {
        bottom: -23.07692307692307692307vw; } }

@media (max-width: 768px) {
    .join-our-team .square {
        width: 67.5rem;
        margin-left: 22.5rem; }
    .join-our-team .g-16 {
        width: 82.5rem; }
    .join-our-team .logo-box {
        width: 41.25rem;
        min-height: 46.15384615384615384615vw; }
    .join-our-team .join-logo {
        width: 26.25rem; }
    .join-our-team .row:last-of-type {
        text-align: center; } }

@media (max-width: 576px) {
    .join-our-team .row:first-of-type {
        padding-top: clamp(90px, 7.5rem, 7.5rem); }
    .join-our-team .row:last-of-type {
        padding-top: clamp(140px, 41.02564vw, 200px); }
    .join-our-team .square {
        padding-bottom: 82.871795vw; }
    .join-our-team .logo-box {
        bottom: -90px; } }

@media (min-width: 1441px) {
    .about-hero .icon-illustration-flowers {
        left: -4.16667%;
        width: 37.5%; }
    .about-team .half-tan.bg-cream-before::before,
    .about-team .half-tan.bg-dark-before::before,
    .about-team .half-tan.bg-sand-before::before {
        width: 54.16667%;
        margin-left: 45.83333%; }
    .icon-and-copy .icon-illustration-leafs-01 {
        left: -2.08333%;
        width: 38.09167%; }
    .careers-join-2 .bg-cream-before::before {
        width: 50%; } }

.careers-join-2 .row {
    padding-bottom: 20px !important; }

.careers-join-2 .md-side-pl {
    max-width: 423px; }
    @media (max-width: 1024px) {
        .careers-join-2 .md-side-pl {
            padding-top: 30px; } }
    .careers-join-2 .md-side-pl *:not(a) {
        padding-left: 0 !important;
        padding-right: 0 !important; }
    .careers-join-2 .md-side-pl .subtitle {
        font-size: 14px; }
    .careers-join-2 .md-side-pl h2 {
        font-size: 2.5rem; }
        @media (max-width: 1024px) {
            .careers-join-2 .md-side-pl h2 {
                font-size: 34px; } }
    .careers-join-2 .md-side-pl p {
        font-size: 1.125rem;
        line-height: 1.44; }
        @media (max-width: 1024px) {
            .careers-join-2 .md-side-pl p {
                font-size: 16px; } }

@media (max-width: 1024px) and (min-width: 769px) {
    .contact-cta .f-column {
        padding-top: 30px;
        padding-bottom: 30px;
        width: 33.33333vw;
        margin-left: 8.33333vw; }
        .contact-cta .f-column .g-5 {
            width: 29.16667vw; } }

@media (min-width: 769px) {
    .icon-illustration-collection-bottom,
    .portfolio-hero .icon-illustration-portfolio {
        opacity: 1; }
        .icon-illustration-collection-bottom img,
        .portfolio-hero .icon-illustration-portfolio img {
            opacity: 0.5; }
    .portfolio-hero .icon-illustration-portfolio {
        width: 35.41667vw;
        top: 0;
        left: -3.33333vw;
        z-index: 2; }
    .icon-illustration-collection-bottom {
        width: 56.25vw;
        left: 54.16667vw;
        bottom: -2%;
        -moz-transform: rotate(35deg);
        -o-transform: rotate(35deg);
        -ms-transform: rotate(35deg);
        -webkit-transform: rotate(35deg);
        transform: rotate(35deg); } }

@media (max-width: 768px) {
    .press-hero .featured-content {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        -webkit-justify-content: flex-end;
        -moz-justify-content: flex-end;
        justify-content: flex-end;
        -webkit-flex-wrap: nowrap;
        -moz-flex-wrap: nowrap;
        -ms-flex-wrap: none;
        flex-wrap: nowrap; }
    .about-team {
        padding-top: 0;
        padding-bottom: 20px; }
        .about-team .half-tan {
            padding-top: 30px; }
            .about-team .half-tan .copy-col {
                padding-top: 40px; }
    .icon-and-copy.about-history {
        padding-bottom: 70px; }
    .portfolio-hero .icon-illustration-portfolio {
        width: 75vw;
        top: 0;
        left: -3.33333vw;
        z-index: 2; }
    .about-events.careers-join-2 .row {
        padding-top: clamp(50px, 8.33333vw, 140px); }
    .press-hero {
        min-height: 80vh; } }

@media (min-width: 769px) {
    .home-hero {
        padding-left: 3.75rem;
        padding-right: 3.75rem; } }

.interactive-map {
    position: relative; }
    .interactive-map__container {
        margin: 0 auto;
        max-width: 84vw;
        position: relative; }
        @media (max-width: 599px) {
            .interactive-map__container {
                max-width: 100%; } }
    .interactive-map__title {
        margin-bottom: 1.4rem;
        text-align: center; }
        @media (max-width: 599px) {
            .interactive-map__title {
                margin-bottom: 27px; } }
    .interactive-map__image {
        height: auto; }
    .interactive-map__object {
        cursor: pointer;
        position: absolute;
        z-index: 1; }
        .interactive-map__object * {
            display: none; }
        .interactive-map__object--1 {
            top: 1%;
            left: 40%;
            width: 19%;
            height: 15%; }
        .interactive-map__object--2 {
            top: 41%;
            left: 16%;
            width: 10%;
            height: 10%; }
        .interactive-map__object--3 {
            top: 44%;
            left: 26%;
            width: 14%;
            height: 27%; }
        .interactive-map__object--4 {
            top: 58%;
            left: 44%;
            width: 11%;
            height: 18%; }
        .interactive-map__object--5 {
            bottom: 12%;
            left: 36%;
            width: 7%;
            height: 13%; }
        .interactive-map__object--6 {
            top: 3%;
            right: 13.5%;
            width: 10%;
            height: 19%; }
        .interactive-map__object-title {
            font-size: 24px;
            line-height: 26px;
            margin-bottom: 10px; }
        .interactive-map__object-copy {
            font-family: "SweetSansPro-Regular";
            font-size: 11px;
            font-weight: 700;
            line-height: 16px;
            text-transform: uppercase; }
    .interactive-map__cursor {
        align-items: center;
        background: white;
        border: 2px solid #52471E;
        border-radius: 50%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0 25px;
        position: fixed;
        pointer-events: none;
        top: 0;
        left: 0;
        text-align: center;
        width: 242px;
        height: 242px;
        z-index: 2;
        -moz-transform: scale(0);
        -o-transform: scale(0);
        -ms-transform: scale(0);
        -webkit-transform: scale(0);
        transform: scale(0); }
    .interactive-map .btn {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(32%, -50%); }
        @media (max-width: 599px) {
            .interactive-map .btn {
                right: 50%;
                transform: translate(50%, -50%); } }

.handbook-wrapper {
    font-size: 22px;
    margin: 0 auto;
    max-width: 400px;
    padding: 80px 20px;
    text-align: center; }
    @media (max-width: 599px) {
        .handbook-wrapper {
            font-size: 16px;
            padding: 140px 20px 80px; } }

.row-column {
    flex-direction: column; }

.form-copy-after {
    margin-top: 40px;
    width: 41.66667%; }
    @media (max-width: 1024px) {
        .form-copy-after {
            padding: 0 20px;
            width: 100%; } }

.form-copy-after a,
.recaptcha-notice a {
    color: #bba57a;
    display: inline-block;
    position: relative; }

.form-copy-after a::after,
.recaptcha-notice a::after {
    background: transparent;
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all 0.3s ease;
    transform: scaleX(0);
    transform-origin: left;
    width: 100%;
    height: 1px; }

.form-copy-after a:hover::after,
.recaptcha-notice a:hover::after {
    background: currentcolor;
    transform: scaleX(1); }

@media (max-width: 1024px) {
    .careers-values .list-perks {
        display: grid;
        grid-template-columns: repeat(3, 1fr); } }

.grecaptcha-badge {
    bottom: 150px !important; }
    @media (max-width: 599px) {
        .grecaptcha-badge {
            bottom: 100px !important; } }

.about-events__grid {
    display: grid;
    grid-template-columns: 45% 55%; }
    @media (max-width: 1024px) {
        .about-events__grid {
            display: flex;
            flex-direction: column-reverse; } }

.about-events__content {
    align-items: center;
    background: #8A795E;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 120px;
    width: 100%; }
    @media (max-width: 1024px) {
        .about-events__content {
            padding: 50px 20px 80px; } }

.about-events__subtitle {
    font-size: 0.875rem;
    font-family: "SweetSansPro-Medium";
    letter-spacing: 0.16em;
    margin: 0 0 30px 0 !important;
    text-transform: uppercase; }
    @media (max-width: 1024px) {
        .about-events__subtitle {
            font-size: 14px; } }

.about-events__heading {
    color: white;
    font-family: "PPFGL";
    font-size: 2.5rem;
    line-height: 1.1;
    margin: 0 0 30px 0; }
    @media (max-width: 1024px) {
        .about-events__heading {
            font-size: 40px; } }

.about-events__copy {
    font-family: "PPFGL";
    font-size: 1.125rem;
    line-height: 1.44;
    margin: 0 0 40px 0 !important; }
    @media (max-width: 1024px) {
        .about-events__copy {
            font-size: 18px; } }

.about-events__slider {
    position: relative;
    width: 100%;
    aspect-ratio: 78 / 72;
    overflow: hidden; }

.about-events__slider-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative; }

.about-events__slider-inner {
    width: 100%;
    height: 100%;
    position: relative; }

.about-events__slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    pointer-events: none;
    width: 100% !important; }
    .about-events__slide.active {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto; }
    .about-events__slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center; }

.about-events__dots {
    align-items: center;
    justify-content: center;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 34px;
    list-style: none;
    margin: 0;
    padding: 32px 18px;
    background: white;
    border-radius: 25px;
    z-index: 10;
    width: 52px; }
    @media (max-width: 1024px) {
        .about-events__dots {
            padding: 25px 8px;
            width: 32px;
            right: 20px; } }
    .about-events__dots .dot-item {
        margin: 0;
        padding: 0; }
        .about-events__dots .dot-item a {
            display: block;
            width: 6px;
            height: 6px;
            padding: 0;
            cursor: pointer;
            transition: all 0.3s ease; }
            .about-events__dots .dot-item a .dot {
                display: block;
                width: 100%;
                height: 100%;
                border-radius: 50%;
                background: #8A795E;
                opacity: 0.3;
                transition: background 0.3s ease; }
        .about-events__dots .dot-item.active a {
            width: 16px;
            height: 16px; }
            .about-events__dots .dot-item.active a .dot {
                opacity: 1; }

.instagram-cta .subtitle {
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin: 0 0 10px 0 !important; }
    @media (max-width: 1024px) {
        .instagram-cta .subtitle {
            font-size: 14px; } }

.instagram-cta .h1 {
    font-size: 3.125rem;
    line-height: 1.1; }
    @media (max-width: 1024px) {
        .instagram-cta .h1 {
            font-size: 40px; } }

.instagram-cta .icon-linkedin i {
    color: #C8AA7C;
    width: 38px;
    height: 38px; }
    .instagram-cta .icon-linkedin i path {
        fill: currentcolor; }

.instagram-cta .btn .text {
    color: #52471E;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.1em; }

.instagram-cta .horizontal-image-scroller #instagram-drag-slider .slide-item {
    width: 360px !important;
    height: 360px !important; }
    .instagram-cta .horizontal-image-scroller #instagram-drag-slider .slide-item figure {
        width: 100%;
        height: 100%; }
        .instagram-cta .horizontal-image-scroller #instagram-drag-slider .slide-item figure img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center; }

.about-history {
    margin: 0 auto;
    max-width: 840px;
    padding-top: 120px;
    padding-bottom: 120px;
    text-align: center; }
    @media (max-width: 1024px) {
        .about-history {
            padding-top: 0;
            padding-left: 20px;
            padding-right: 20px;
            padding-bottom: 80px; } }
    .about-history__heading {
        font-size: 2rem;
        line-height: 1.375;
        margin-bottom: 50px; }
        @media (max-width: 1024px) {
            .about-history__heading {
                font-size: 28px; } }
        @media (max-width: 599px) {
            .about-history__heading {
                font-size: 22px; } }
    .about-history__subtitle {
        font-size: 0.875rem;
        font-family: "SweetSansPro-Medium";
        letter-spacing: 0.16em;
        margin: 0 0 30px 0 !important;
        text-transform: uppercase; }
        @media (max-width: 1024px) {
            .about-history__subtitle {
                font-size: 14px; } }
    .about-history__content {
        color: #52471E;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px; }
        @media (max-width: 599px) {
            .about-history__content {
                gap: 40px;
                grid-template-columns: 1fr; } }
    .about-history__copy {
        font-size: 1.125rem;
        line-height: 1.44;
        margin: 0; }
        @media (max-width: 1024px) {
            .about-history__copy {
                font-size: 18px; } }

.icon-ligature.small {
    width: clamp(28px, 1.75rem, 1.75rem);
    height: clamp(18px, 1.125rem, 1.125rem); }

.icon-ligature + p {
    margin-top: 1.87500000000000000000rem; }

.pattern.green {
    background: #52471E; }

.pattern.gold {
    background: #C8AA7C; }

.pattern.one {
    position: absolute; }
    .pattern.one::before {
        opacity: 0.15;
        background: url(.././svg/pattern-01.svg) repeat center center; }

.pattern.one::before {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    position: absolute;
    content: ""; }

.pattern.square {
    padding-bottom: 42.18750000000000000000rem; }

.pattern.full-background {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1; }
    .pattern.full-background::before {
        opacity: 0.05; }

.square {
    position: absolute;
    padding-bottom: 42.18750000000000000000rem;
    z-index: -1; }
    .square.light-cream {
        background: #FBF1E6; }

.icon-plus {
    width: clamp(15px, 0.9375rem, 0.9375rem);
    height: clamp(15px, 0.9375rem, 0.9375rem); }

.mouse-circle {
    width: clamp(80px, 5rem, 5rem);
    height: clamp(80px, 5rem, 5rem); }
    .mouse-circle .icon-mouse-plus {
        width: clamp(20px, 1.25rem, 1.25rem);
        height: clamp(20px, 1.25rem, 1.25rem); }
    .mouse-circle.light-cream svg.icon-mouse-plus path {
        fill: #52471E; }

.mouse-circle,
.mouse-circle-drag {
    border-radius: 50%;
    position: fixed;
    transform-origin: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .mouse-circle.light-cream,
    .mouse-circle-drag.light-cream {
        background: #FBF1E6; }

.mouse-circle-drag {
    width: clamp(80px, 6.25rem, 6.25rem);
    height: clamp(80px, 6.25rem, 6.25rem);
    text-transform: uppercase;
    z-index: 2;
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0); }

.list-events-posts,
.list-portfolio-posts {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
    list-style: none;
    display: grid;
    grid-template-columns: 33.75rem 33.75rem;
    column-gap: 3.75rem;
    row-gap: 3.75rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .list-events-posts li,
    .list-portfolio-posts li {
        position: relative; }
    .list-events-posts .image,
    .list-portfolio-posts .image {
        position: relative;
        padding-bottom: clamp(200px, 26.39vw, 400px);
        overflow: hidden;
        pointer-events: none;
        z-index: 0;
        background: #2D2A1F; }
        .list-events-posts .image img,
        .list-portfolio-posts .image img {
            object-fit: cover;
            position: absolute;
            display: block;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            -moz-transition: 600ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
            -o-transition: 600ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
            -webkit-transition: 600ms opacity cubic-bezier(0.165, 0.84, 0.44, 1);
            transition: 600ms opacity cubic-bezier(0.165, 0.84, 0.44, 1); }
    .list-events-posts .inner,
    .list-portfolio-posts .inner {
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center; }
        .list-events-posts .inner::before,
        .list-portfolio-posts .inner::before {
            position: absolute;
            content: '';
            display: block;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            background: #2D2A1F;
            z-index: -1;
            opacity: 0; }
    .list-events-posts [class^=icon-portfolio-],
    .list-portfolio-posts [class^=icon-portfolio-] {
        position: absolute;
        height: auto;
        z-index: 0;
        opacity: 0.5; }
    .list-events-posts .icon-portfolio-flowers,
    .list-portfolio-posts .icon-portfolio-flowers {
        width: 33.75rem;
        left: -1.875rem;
        bottom: -11.85rem;
        -moz-transform: rotate(30deg);
        -o-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg); }
    .list-events-posts .icon-portfolio-eggcorns,
    .list-portfolio-posts .icon-portfolio-eggcorns {
        width: 30.9375rem;
        right: -15rem;
        bottom: -10.6875rem;
        -moz-transform: rotate(-148.49deg);
        -o-transform: rotate(-148.49deg);
        -ms-transform: rotate(-148.49deg);
        -webkit-transform: rotate(-148.49deg);
        transform: rotate(-148.49deg); }
    .list-events-posts .icon-portfolio-pine-cone,
    .list-portfolio-posts .icon-portfolio-pine-cone {
        width: 38.4375rem;
        left: -41.25rem;
        top: -16.875rem; }
    @media (min-width: 1441px) {
        .list-events-posts .image,
        .list-portfolio-posts .image {
            padding-bottom: clamp(200px, 26.39vw, 500px); } }
    @media (min-width: 1025px) {
        .list-events-posts .inner:hover,
        .list-portfolio-posts .inner:hover {
            cursor: pointer; }
            .list-events-posts .inner:hover .btn,
            .list-portfolio-posts .inner:hover .btn {
                opacity: 1; }
        .list-events-posts .inner:hover .icon img,
        .list-portfolio-posts .inner:hover .icon img {
            opacity: 1; }
        .list-events-posts .inner:hover .image img,
        .list-events-posts .inner:hover .portfolio-image img,
        .list-portfolio-posts .inner:hover .image img,
        .list-portfolio-posts .inner:hover .portfolio-image img {
            opacity: 0.75; } }
    @media (max-width: 1024px) {
        .list-events-posts .inner,
        .list-portfolio-posts .inner {
            margin-bottom: 20px; } }
    @media (min-width: 769px) {
        .list-events-posts li.second-to-end-of-cycle,
        .list-portfolio-posts li.second-to-end-of-cycle {
            padding-bottom: 7.50000000000000000000rem; }
        .list-events-posts .g-10.end-of-cycle,
        .list-portfolio-posts .g-10.end-of-cycle {
            padding-bottom: 7.50000000000000000000rem; }
        .list-events-posts .g-12,
        .list-portfolio-posts .g-12 {
            padding-bottom: 21.75rem; }
        .list-events-posts .g-7,
        .list-portfolio-posts .g-7 {
            padding-top: 9.37500000000000000000rem;
            padding-bottom: 7.50000000000000000000rem; }
        .list-events-posts .g-6,
        .list-portfolio-posts .g-6 {
            padding-top: 12.50000000000000000000rem; }
        .list-events-posts .g-10,
        .list-portfolio-posts .g-10 {
            padding-bottom: 17.00000000000000000000rem; }
        .list-events-posts li:last-of-type,
        .list-portfolio-posts li:last-of-type {
            padding-bottom: 0; } }
    @media (max-width: 768px) {
        .list-events-posts .events-item,
        .list-events-posts .portfolio-item,
        .list-portfolio-posts .events-item,
        .list-portfolio-posts .portfolio-item {
            width: 100%;
            margin-left: 0;
            padding-top: 0;
            padding-bottom: 30px; } }
    @media (max-width: 768px) and (min-width: 576px) {
        .list-events-posts,
        .list-portfolio-posts {
            grid-template-columns: 43.75vw 43.75vw; } }
    @media (max-width: 576px) {
        .list-events-posts,
        .list-portfolio-posts {
            grid-template-columns: 87.5vw; }
            .list-events-posts .image,
            .list-portfolio-posts .image {
                padding-bottom: clamp(300px, 26.39vw, 400px); } }

.list-portfolio-posts .image img {
    width: 100%;
    height: 100%; }

.post-press-hero,
.post-portfolio-hero {
    background: #2D2A1F; }
    .post-press-hero .background-image,
    .post-portfolio-hero .background-image {
        opacity: 0.5; }

.post-portfolio-hero {
    background: #2D2A1F;
    z-index: 3; }
    .post-portfolio-hero::before {
        z-index: 1; }
    .post-portfolio-hero .background-image {
        opacity: 0.6; }
    .post-portfolio-hero .g-9 {
        min-height: 100vh;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    @media (min-width: 769px) {
        .post-portfolio-hero .g-9 {
            padding-top: clamp(140px, 7.5rem, 7.5rem);
            padding-bottom: clamp(100px, 8.75rem, 120px); } }
    @media (max-width: 768px) {
        .post-portfolio-hero {
            height: calc(100% - clamp(80px, 8vw, 8vw));
            min-height: calc(100vh - clamp(80px, 8vw, 8vw)); }
            .post-portfolio-hero .g-9 {
                position: relative;
                height: 100%;
                min-height: 90vh;
                padding-top: 120px;
                padding-bottom: clamp(140px, 8vw, 8vw);
                display: -webkit-box;
                display: -webkit-flex;
                display: -moz-flex;
                display: -ms-flexbox;
                display: flex;
                -webkit-box-align: center;
                -ms-flex-align: center;
                -webkit-align-items: center;
                -moz-align-items: center;
                align-items: center;
                -ms-flex-pack: distribute;
                -webkit-justify-content: space-around;
                -moz-justify-content: space-around;
                justify-content: space-around;
                -webkit-box-direction: normal;
                -webkit-box-orient: vertical;
                -webkit-flex-direction: column;
                -moz-flex-direction: column;
                -ms-flex-direction: column;
                flex-direction: column; }
            .post-portfolio-hero .btn {
                height: 100%;
                margin: auto; } }
    @media (max-width: 768px) and (min-width: 577px) {
        .post-portfolio-hero h1 {
            padding-top: 25.58974358974358974358vw; } }
    @media (max-width: 576px) {
        .post-portfolio-hero h1 {
            padding-top: 20.589744vw; } }

.list-stats {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .list-stats li {
        border-radius: 50%;
        border: 1px solid #ffffff;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .list-stats h3,
    .list-stats p {
        color: #ffffff; }
    .list-stats p {
        text-transform: uppercase;
        margin-top: 2px; }
    @media (min-width: 769px) {
        .list-stats li {
            width: 11.25000000000000000000rem;
            height: 11.25000000000000000000rem;
            margin-right: 3.75rem;
            display: -webkit-inline-box;
            display: -webkit-inline-flex;
            display: -ms-inline-flexbox;
            display: inline-flex; }
            .list-stats li:last-of-type {
                margin-right: 0; } }
    @media (max-width: 768px) and (max-width: 577px) {
        .list-stats li,
        .list-stats li.g-3 {
            max-width: 180px;
            max-height: 180px; } }
    @media (max-width: 768px) {
        .list-stats {
            -webkit-flex-wrap: wrap;
            -moz-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
            .list-stats li,
            .list-stats li.g-3 {
                margin: 0 2.56410256410256410256vw;
                width: clamp(100px, 33.33333vw, 33.33333vw);
                height: clamp(100px, 33.33333vw, 33.33333vw); }
            .list-stats h3 {
                font-size: clamp(24px, 6.15385vw, 6.15385vw);
                line-height: 1.41666666666666666666; } }

.portfolio-introduction [class^=g-] {
    text-align: center; }

.portfolio-introduction .subtitle {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }

.portfolio-introduction .icon {
    margin-left: auto;
    margin-right: auto; }

.portfolio-introduction p {
    margin-top: 30px;
    margin-bottom: 35px;
    color: #2D2A1F; }
    .portfolio-introduction p.sibtitle {
        padding-top: 0; }

.portfolio-introduction + .portfolio-related {
    padding-top: 60px; }

@media (max-width: 1024px) and (min-width: 769px) {
    .portfolio-introduction .g-10 {
        width: 58.33333vw; } }

.portfolio-gallery h2 {
    margin-bottom: 30px; }

.portfolio-gallery p + .btn {
    margin-top: 30px; }

.portfolio-gallery .btn .text {
    white-space: break-spaces; }

.portfolio-gallery .inner-wrapper {
    padding-left: 3.75rem;
    padding-top: 90px;
    will-change: transform; }

@media (max-width: 1024px) and (min-width: 769px) {
    .portfolio-gallery .g-6 {
        width: 37.5vw; } }

@media (max-width: 768px) and (min-width: 577px) {
    .portfolio-gallery .inner-wrapper {
        padding-top: 36.28205128205128205128vw; }
    .portfolio-gallery .swipe {
        top: clamp(45px, calc(36.28205128205128205128vw - 60px), calc(36.28205128205128205128vw - 60px)); }
    .portfolio-gallery .row .pattern.green {
        padding-bottom: 70vw; } }

@media (max-width: 769px) {
    .portfolio-gallery {
        padding-bottom: 90px; } }

@media (max-width: 768px) {
    .portfolio-gallery {
        padding-bottom: 100px; }
        .portfolio-gallery .row {
            position: relative; }
            .portfolio-gallery .row .pattern {
                top: 100%;
                width: 97.5rem;
                left: -3.75rem;
                padding-bottom: 100.00000000000000000000vw; }
        .portfolio-gallery .g-6 {
            text-align: center;
            margin-bottom: 60px; } }

.portfolio-gallery-images {
    position: relative; }
    .portfolio-gallery-images::before {
        position: absolute;
        content: '';
        display: block;
        width: 100%;
        height: 65%;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        background: #FBF1E6; }
    .portfolio-gallery-images .inner-wrapper {
        padding-left: 3.75rem; }
    @media (max-width: 768px) {
        .portfolio-gallery-images .subtitle.swipe {
            top: 0;
            color: #52471E;
            font-size: 12px;
            line-height: 18px;
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            -moz-align-items: center;
            align-items: center;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            -moz-justify-content: center;
            justify-content: center; }
            .portfolio-gallery-images .subtitle.swipe svg path {
                stroke: #52471E; }
        .portfolio-gallery-images #drag-slider {
            margin-top: 50px; }
        .portfolio-gallery-images .gc-13 {
            width: 91.66667vw; }
        .portfolio-gallery-images .gc-9 {
            width: 66.66667vw; }
        .portfolio-gallery-images .swipe {
            top: 58px; } }
    @media (max-width: 576px) {
        .portfolio-gallery-images .inner-wrapper {
            padding-top: 51.28205128205128205128vw; } }

body.single-portfolio #drag-ico {
    border: 1px solid rgba(45, 42, 31, 0.05); }

.icon-illustration-single-portfolio-pine-cone {
    width: 41.66667vw;
    left: -8.33333vw;
    top: 35%;
    z-index: 0;
    opacity: 1;
    -moz-transform: rotate(-30deg);
    -o-transform: rotate(-30deg);
    -ms-transform: rotate(-30deg);
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg); }
    .icon-illustration-single-portfolio-pine-cone img {
        opacity: 0.5; }

@media (min-width: 769px) {
    .events-related .subtitle,
    .portfolio-related .subtitle {
        margin-bottom: 50px; }
    .events-related .btn,
    .portfolio-related .btn {
        margin-top: 60px; } }

@media (max-width: 768px) {
    .events-related .subtitle,
    .portfolio-related .subtitle {
        margin-bottom: 40px; }
    .events-related .btn,
    .portfolio-related .btn {
        margin-top: 40px; } }

.related-portfolio-links {
    list-style: none;
    display: block;
    width: 100%; }
    .related-portfolio-links li {
        border-bottom: 1px solid rgba(200, 170, 124, 0.2);
        line-height: 2.5em;
        width: 100%;
        text-align: center;
        position: relative;
        overflow: hidden; }
    .related-portfolio-links a {
        display: block;
        line-height: 1.6em; }
        .related-portfolio-links a span {
            display: block; }
            .related-portfolio-links a span:first-of-type {
                color: #C8AA7C; }
            .related-portfolio-links a span:nth-of-type(2) {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%; }
    @media (max-width: 1024px) {
        .related-portfolio-links li {
            padding: 10px 0; }
            .related-portfolio-links li a .one {
                color: #52471E; }
            .related-portfolio-links li a .two {
                display: none;
                visibility: hidden; } }
    @media (max-width: 768px) {
        .related-portfolio-links {
            width: 100%; } }

.stat-toggle {
    width: clamp(66px, 4.125rem, 80px);
    height: clamp(66px, 4.125rem, 80px);
    border-radius: 50%;
    background: #FBF1E6;
    position: relative;
    min-height: 66px;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center; }
    .stat-toggle .icon-plus {
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        pointer-events: none; }
    .stat-toggle.active svg path:last-of-type {
        opacity: 0; }

.subtitle.swipe {
    position: absolute;
    color: #FBF1E6;
    text-transform: uppercase;
    pointer-events: none;
    display: block;
    margin: auto;
    text-align: center;
    width: 100%;
    left: 0;
    right: 0; }
    .subtitle.swipe svg {
        display: inline-block;
        width: 10px;
        height: 12px; }
        .subtitle.swipe svg:first-of-type {
            margin-right: 20px; }
        .subtitle.swipe svg:last-of-type {
            margin-left: 20px; }

.featured-press-slider picture {
    opacity: 1;
    background: #2D2A1F; }

.featured-press-slider .background-image img {
    opacity: 0.5; }

.featured-press-slider .inner-wrapper {
    top: 0;
    background: #2D2A1F;
    position: absolute;
    width: 100%;
    display: flex;
    height: 100%;
    overflow: hidden;
    z-index: 1; }

.dates,
.titles {
    position: relative;
    list-style: none; }
    .dates li,
    .titles li {
        position: absolute;
        left: 0;
        right: 0; }

.featured-content {
    position: relative;
    z-index: 2;
    color: #ffffff;
    text-align: center;
    min-height: 100vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .featured-content .subtitle {
        text-transform: uppercase; }
    .featured-content .dates {
        margin-bottom: 30px; }
    @media (min-width: 769px) {
        .featured-content {
            padding-top: clamp(120px, 7.5rem, 7.5rem);
            padding-bottom: clamp(41px, 5.0625rem, 80px); } }
    @media (max-width: 768px) {
        .featured-content {
            padding-bottom: clamp(100px, 8vw, 8vw);
            min-height: calc(100vh - clamp(100px, 8vw, 8vw));
            padding-top: 120px; } }

.featured-post-timer {
    list-style-type: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    height: 100%;
    margin: auto;
    min-height: 60px; }
    .featured-post-timer li {
        margin-right: 10px;
        position: relative;
        width: 40px;
        height: 40px;
        border-radius: 50%; }
        .featured-post-timer li:last-of-type {
            margin-right: 0; }
        .featured-post-timer li::before {
            position: absolute;
            content: '';
            display: block;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            width: 20px;
            height: 20px;
            background: #ffffff;
            border-radius: 50%;
            opacity: 0.7;
            -moz-transform: scale(0.5);
            -o-transform: scale(0.5);
            -ms-transform: scale(0.5);
            -webkit-transform: scale(0.5);
            transform: scale(0.5);
            -moz-transition: 400ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
            -o-transition: 400ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
            -webkit-transition: 400ms transform cubic-bezier(0.165, 0.84, 0.44, 1);
            transition: 400ms transform cubic-bezier(0.165, 0.84, 0.44, 1); }
        .featured-post-timer li svg {
            overflow: visible; }
        .featured-post-timer li::before,
        .featured-post-timer li svg {
            pointer-events: none; }
        .featured-post-timer li.active::before {
            opacity: 1;
            -moz-transform: scale(1);
            -o-transform: scale(1);
            -ms-transform: scale(1);
            -webkit-transform: scale(1);
            transform: scale(1); }
        @media (min-width: 1025px) {
            .featured-post-timer li:hover {
                cursor: pointer; } }
    @media (max-width: 768px) {
        .featured-post-timer {
            min-height: 60px; } }

.post-list-press {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row; }
    .post-list-press .btn.btn-line.gold {
        margin-top: 40px;
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex; }
    .post-list-press .subtitle {
        text-transform: uppercase; }
    .post-list-press [class^=g-] {
        position: relative; }
    .post-list-press h4 {
        color: #52471E; }
    .post-list-press li {
        position: relative;
        width: 100%; }
        .post-list-press li::before {
            position: absolute;
            content: '';
            display: block;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            width: 100%;
            height: 1px;
            left: 0;
            background: rgba(200, 170, 124, 0.2); }
        .post-list-press li:last-of-type {
            margin-bottom: 0; }
    .post-list-press .title {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        -moz-justify-content: space-between;
        justify-content: space-between; }
        .post-list-press .title a {
            color: #52471E; }
    @media (min-width: 769px) {
        .post-list-press {
            padding-bottom: 60px;
            padding-left: 1.875rem;
            padding-right: 3.75rem; }
            .post-list-press li {
                padding-top: 60px;
                padding-bottom: 60px; } }
    @media (max-width: 768px) {
        .post-list-press {
            margin-bottom: 40px; }
            .post-list-press li {
                padding-top: 30px;
                padding-bottom: 30px; }
            .post-list-press .g-3,
            .post-list-press [class^=g-] {
                width: 100%;
                margin-left: 0; }
            .post-list-press .g-6 {
                width: 48.75rem;
                margin-bottom: 20px; }
            .post-list-press .titles {
                width: 75rem; }
            .post-list-press .dates {
                margin-bottom: 10px; }
            .post-list-press .subtitle {
                margin-bottom: 10px; } }

body.press .load-more-section .btn {
    display: none; }

.load-more-section {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }

.post-press-hero {
    min-height: 100vh;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .post-press-hero .g-12 {
        min-height: 100vh;
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
    .post-press-hero .btn {
        height: 100%;
        margin: auto;
        min-height: 60px; }
    @media (min-width: 769px) {
        .post-press-hero .g-12 {
            padding-top: clamp(120px, 7.5rem, 7.5rem);
            padding-bottom: clamp(100px, 8.75rem, 8.75rem); }
        .post-press-hero .subtitle {
            margin-bottom: 30px; } }
    @media (max-width: 768px) {
        .post-press-hero {
            min-height: 100vh; }
            .post-press-hero .row {
                min-height: 100vh; }
            .post-press-hero .subtitle {
                margin-top: 40px;
                margin-bottom: 30px; }
            .post-press-hero .g-12 {
                padding-top: 120px;
                padding-bottom: 140px; } }

.press-hero .btn .text,
.press-posts-section .btn .text {
    font-family: "SweetSansPro-Medium";
    font-weight: 500; }

.post-press-content .intro-text {
    line-height: 1.33333333333333333333;
    padding-bottom: 35px;
    margin-bottom: 35px;
    position: relative; }
    .post-press-content .intro-text::after {
        position: absolute;
        content: '';
        display: block;
        left: 0;
        right: 0;
        bottom: 0;
        background: #C8AA7C;
        height: 2px; }

@media (min-width: 769px) {
    .post-press-content {
        padding-top: clamp(100px, 7.5rem, 7.5rem); }
        .post-press-content .intro-text::after {
            width: 3.75rem; } }

@media (max-width: 768px) {
    .post-press-content {
        padding-top: 30px; }
        .post-press-content .intro-text {
            line-height: 1.41666666666666666666; }
            .post-press-content .intro-text::after {
                width: 15rem; } }

.common-content a,
.common-content li,
.common-content p {
    font-size: clamp(20px, 1.25rem, 1.25rem);
    line-height: 1.60000000000000000000; }

.common-content ol,
.common-content ul,
.common-content p {
    margin-bottom: 40px; }

.common-content h1,
.common-content h2,
.common-content h3,
.common-content h4,
.common-content h5,
.common-content h6 {
    margin-bottom: 30px; }

.common-content figure {
    padding-bottom: 30px; }

.common-content ol,
.common-content ul {
    list-style: none; }
    .common-content ol li,
    .common-content ul li {
        position: relative; }
        .common-content ol li::before,
        .common-content ul li::before {
            position: absolute;
            content: '';
            top: 0;
            left: 0; }

.common-content ul li::before {
    display: inline-block;
    height: 1px;
    background: #C8AA7C; }

.common-content ol {
    counter-reset: ol-count; }
    .common-content ol li::before {
        content: "0" counter(ol-count);
        counter-increment: ol-count;
        width: 20px;
        display: inline-block;
        top: 0;
        font-size: clamp(12px, 0.75rem, 0.75rem);
        line-height: 2.66666666666666666666;
        color: #C8AA7C;
        font-family: "SweetSansPro-Medium";
        font-weight: 500; }

.common-content img {
    display: block;
    width: 100%; }

.common-content figcaption {
    color: rgba(45, 42, 31, 0.5);
    margin-top: 10px;
    text-transform: uppercase; }

.common-content .blockquote {
    position: relative; }
    .common-content .blockquote::before {
        position: absolute;
        content: '';
        display: block;
        top: 0;
        height: 100%;
        bottom: 0;
        margin: auto;
        background: #FBF1E6;
        z-index: -1; }
    .common-content .blockquote svg {
        position: absolute;
        top: 4.16667vw;
        height: 4.16667vw; }
    .common-content .blockquote figcaption {
        position: relative;
        padding-left: 30px;
        color: #2D2A1F; }
        .common-content .blockquote figcaption::before {
            position: absolute;
            content: '';
            display: block;
            top: 0;
            left: 0;
            bottom: 0;
            margin: auto;
            background: #2D2A1F;
            width: 20px;
            height: 2px; }
    @media (min-width: 769px) {
        .common-content .blockquote {
            margin-left: 12.5vw;
            padding: 3.75rem 3.75rem 3.75rem 0;
            margin-top: 30px;
            margin-bottom: 60px; }
            .common-content .blockquote::before {
                left: -12.5vw;
                width: 25vw; }
            .common-content .blockquote blockquote {
                width: 33.33333vw; }
            .common-content .blockquote svg {
                width: 4.16667vw;
                left: -8.33333vw; } }
    @media (max-width: 768px) {
        .common-content .blockquote {
            margin-left: 20.83333vw;
            padding: 30px 3.75rem 30px 0;
            margin-top: 20px;
            margin-bottom: 50px; }
            .common-content .blockquote::before {
                left: -25vw;
                width: 50vw; }
            .common-content .blockquote blockquote {
                width: 70.83333vw; }
            .common-content .blockquote svg {
                width: 8.33333vw;
                left: -16.66667vw;
                top: 40px; } }

@media (min-width: 769px) {
    .common-content ul li::before {
        width: 20px;
        top: 17px; }
    .common-content ol li,
    .common-content ul li {
        padding-left: 40px; } }

@media (max-width: 768px) {
    .common-content ul li::before {
        width: 3.75rem;
        top: 17px; }
    .common-content ol li,
    .common-content ul li {
        padding-left: 7.5rem; } }

@media (min-width: 769px) {
    .post-press-content {
        margin-bottom: 60px; } }

@media (max-width: 768px) {
    .post-press-content {
        margin-bottom: 30px; } }

.post-press-related-section {
    position: relative; }
    .post-press-related-section::before {
        position: absolute;
        content: '';
        display: block;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 82.5rem;
        height: 1px;
        background: rgba(200, 170, 124, 0.2); }
    @media (min-width: 769px) {
        .post-press-related-section {
            padding-top: 60px; }
            .post-press-related-section h2 {
                margin-bottom: 30px; } }
    @media (max-width: 768px) {
        .post-press-related-section {
            padding-top: 50px;
            padding-bottom: 100px; }
            .post-press-related-section h2 {
                margin-bottom: 20px; } }

.post-press-related {
    list-style: none;
    display: grid;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between; }
    .post-press-related h5 {
        margin-top: 10px; }
    .post-press-related .subtitle {
        font-family: "SweetSansPro-Medium";
        font-weight: 500;
        margin-bottom: 10px; }
    .post-press-related li {
        position: relative; }
    @media (min-width: 1441px) {
        .post-press-related.row {
            grid-template-columns: 29.16667% 29.16667% 29.16667%;
            column-gap: 4.16667%; } }
    @media (min-width: 769px) {
        .post-press-related {
            grid-template-columns: 25rem 25rem 25rem;
            column-gap: 3.75rem; } }
    @media (max-width: 768px) {
        .post-press-related {
            grid-template-columns: 82.5rem;
            row-gap: 30px; } }

.social-share {
    list-style: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    .social-share li {
        margin-bottom: 18px; }
    .social-share a {
        border-radius: 50%;
        position: relative;
        background: #FBF1E6;
        width: 60px;
        height: 60px;
        display: inline-block; }
        .social-share a svg path {
            fill: #2D2A1F; }
        .social-share a svg {
            position: absolute;
            display: block;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto; }
    .social-share .facebook svg {
        width: 16px;
        height: 18px; }
    .social-share .linkedin svg {
        width: 14px;
        height: 16px; }
    .social-share .twitter svg {
        width: 16px;
        height: 14px; }

#instagram-drag-slider .slide-item {
    pointer-events: all; }
    #instagram-drag-slider .slide-item .absolute-link {
        pointer-events: all;
        z-index: 2; }

#instagram-drag-slider,
#drag-slider {
    width: 100%;
    overflow: hidden;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    position: relative;
    overflow: hidden; }
    #instagram-drag-slider .slider-inner,
    #drag-slider .slider-inner {
        z-index: 1;
        height: 100%;
        width: 100%;
        white-space: nowrap; }
    #instagram-drag-slider .slide-item,
    #drag-slider .slide-item {
        counter-increment: count;
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        margin: 0;
        overflow: hidden;
        pointer-events: none;
        display: inline-block; }
    #instagram-drag-slider figure,
    #drag-slider figure {
        overflow: hidden;
        position: relative;
        height: 100%; }
        #instagram-drag-slider figure img,
        #drag-slider figure img {
            display: block; }

#drag-slider {
    height: 50vw; }
    #drag-slider .slide-item {
        width: 45vw !important;
        height: 50vw;
        padding: 0 5vw 0 0; }
    #drag-slider img {
        width: 100%; }
    @media (max-width: 768px) {
        #drag-slider {
            height: 80vw; }
            #drag-slider .slide-item {
                width: 80vw !important;
                height: 80vw; } }

#about-instagram figure,
#instagram-drag-slider figure {
    margin: 0; }

#about-instagram figure,
#about-instagram figure img,
#instagram-drag-slider figure,
#instagram-drag-slider figure img {
    width: 100%;
    display: block; }

#about-instagram .horizontal-image-scroller,
#instagram-drag-slider .horizontal-image-scroller {
    overflow: visible;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }

#about-instagram .slider-inner,
#instagram-drag-slider .slider-inner {
    overflow: visible;
    position: relative;
    left: -4.16667vw; }

@media (min-width: 769px) {
    #about-instagram .slide-item.gc-6,
    #instagram-drag-slider .slide-item.gc-6 {
        width: 25vw !important;
        height: 25vw !important; }
    #about-instagram .slide-item.gc-3, #about-instagram .slide-item.gc-4, #about-instagram .slide-item.gc-5,
    #instagram-drag-slider .slide-item.gc-3,
    #instagram-drag-slider .slide-item.gc-4,
    #instagram-drag-slider .slide-item.gc-5 {
        width: calc(100vw - 10px);
        height: calc(100vw - 10px); }
    #about-instagram .slide-item figure,
    #instagram-drag-slider .slide-item figure {
        padding-right: 10px; } }

@media (max-width: 768px) {
    #about-instagram,
    #instagram-drag-slider {
        height: 650px; }
        #about-instagram .btn,
        #instagram-drag-slider .btn {
            margin-top: 20px;
            -moz-transform: none;
            -o-transform: none;
            -ms-transform: none;
            -webkit-transform: none;
            transform: none; }
        #about-instagram .slide-item.gc-6,
        #instagram-drag-slider .slide-item.gc-6 {
            width: calc(100vw - 10px);
            height: calc(100vw - 10px); }
            #about-instagram .slide-item.gc-6 figure,
            #instagram-drag-slider .slide-item.gc-6 figure {
                width: calc(100vw - 10px); }
        #about-instagram .slide-item.gc-3, #about-instagram .slide-item.gc-4, #about-instagram .slide-item.gc-5,
        #instagram-drag-slider .slide-item.gc-3,
        #instagram-drag-slider .slide-item.gc-4,
        #instagram-drag-slider .slide-item.gc-5 {
            width: calc(100vw - 10px);
            height: calc(100vw - 10px); }
            #about-instagram .slide-item.gc-3 figure, #about-instagram .slide-item.gc-4 figure, #about-instagram .slide-item.gc-5 figure,
            #instagram-drag-slider .slide-item.gc-3 figure,
            #instagram-drag-slider .slide-item.gc-4 figure,
            #instagram-drag-slider .slide-item.gc-5 figure {
                width: calc(100vw - 10px); }
        #about-instagram .slide-item.gc-5 figure,
        #instagram-drag-slider .slide-item.gc-5 figure {
            padding-right: 10px !important;
            width: calc(100vw - 10px); }
        #about-instagram .slide-item.gc-6,
        #instagram-drag-slider .slide-item.gc-6 {
            padding-right: 10px; } }

@media (max-width: 576px) {
    #about-instagram,
    #instagram-drag-slider {
        height: auto; } }

#drag-ico {
    pointer-events: none;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 6.25vw;
    height: 6.25vw;
    border-radius: 50%;
    background-color: #FBF1E6;
    -moz-transform: scale(0);
    -o-transform: scale(0);
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0); }
    #drag-ico span {
        display: block;
        line-height: 6.25vw;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 0; }
    @media (max-width: 1024px) {
        #drag-ico {
            display: none;
            visibility: hidden; } }

#content-wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: fixed;
    pointer-events: none; }

@media (max-width: 1024px) and (min-width: 769px) {
    .list-events-posts .btn,
    .list-portfolio-posts .btn {
        -moz-transform: translateY(50%);
        -o-transform: translateY(50%);
        -ms-transform: translateY(50%);
        -webkit-transform: translateY(50%);
        transform: translateY(50%); }
    .list-events-posts .btn .text,
    .list-portfolio-posts .btn .text {
        font-size: 16px; } }

@media (max-width: 768px) {
    .stats-wrapper {
        position: relative;
        height: 0;
        overflow: hidden; }
        .stats-wrapper ul {
            margin-bottom: 30px; }
    .mobile-ios-device .post-portfolio-hero {
        min-height: calc(100vh - clamp(100px, 8vw, 8vw)); }
    .mobile-ios-device .post-press-hero .g-12 {
        padding-bottom: clamp(160px, 8vw, 8vw); }
    .mobile-ios-device .post-portfolio-hero .g-18 {
        padding-bottom: clamp(200px, 8vw, 8vw); }
    .mobile-ios-device .press-hero .featured-content {
        padding-bottom: 160px; }
    .press-hero .featured-content {
        padding-bottom: 140px; }
    .list-events-posts.events-slider-regular .events-item {
        padding-bottom: 0; }
        .list-events-posts.events-slider-regular .events-item div.inner {
            margin-bottom: 0; }
        .list-events-posts.events-slider-regular .events-item a.btn {
            margin-top: 0;
            -moz-transform: translateY(100%);
            -o-transform: translateY(100%);
            -ms-transform: translateY(100%);
            -webkit-transform: translateY(100%);
            transform: translateY(100%); }
    .list-events-posts.events-slider-regular .events-item .inner,
    .list-events-posts .events-item .inner {
        margin-bottom: 25.6px; }
    .list-events-posts.events-slider-regular .events-item .btn,
    .list-events-posts .events-item .btn {
        -moz-transform: translateY(50%);
        -o-transform: translateY(50%);
        -ms-transform: translateY(50%);
        -webkit-transform: translateY(50%);
        transform: translateY(50%); }
    .single-portfolio .list-portfolio-posts .portfolio-item .btn {
        margin-top: 0;
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); } }

@media (max-width: 768px) and (min-width: 577px) {
    .portfolio-slider-regular.list-portfolio-posts .image {
        padding-bottom: clamp(200px, 30.39vw, 300px); } }

@media (max-width: 768px) {
    .list-portfolio-posts .portfolio-item .inner .btn {
        -moz-transform: translateY(0);
        -o-transform: translateY(0);
        -ms-transform: translateY(0);
        -webkit-transform: translateY(0);
        transform: translateY(0); }
    .list-events-posts.events-slider-regular,
    .list-events-posts,
    .list-portfolio-posts {
        row-gap: 0px; }
        .list-events-posts.events-slider-regular .portfolio-item,
        .list-events-posts .portfolio-item,
        .list-portfolio-posts .portfolio-item {
            padding-bottom: 0; }
            .list-events-posts.events-slider-regular .portfolio-item .inner,
            .list-events-posts .portfolio-item .inner,
            .list-portfolio-posts .portfolio-item .inner {
                padding-bottom: 0;
                margin-bottom: 0;
                -webkit-box-direction: normal;
                -webkit-box-orient: vertical;
                -webkit-flex-direction: column;
                -moz-flex-direction: column;
                -ms-flex-direction: column;
                flex-direction: column; }
                .list-events-posts.events-slider-regular .portfolio-item .inner .btn,
                .list-events-posts .portfolio-item .inner .btn,
                .list-portfolio-posts .portfolio-item .inner .btn {
                    position: relative; } }

@media (max-width: 576px) {
    .list-events-posts.events-slider-regular .portfolio-item .inner .image,
    .list-events-posts .portfolio-item .inner .image,
    .list-portfolio-posts .portfolio-item .inner .image {
        padding-bottom: clamp(16.39vw, 63.39vw, 400px); } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9jc3MvbWFpbl9zdHlsZXMubWluLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUF3aUJBO0lBQ0U7UUFDRSx3QkFBd0IsSUFDekI7O0FBR0g7SUFDRTtRQUNFLHdCQUF3QixJQUN6Qjs7QUNqakJIO0lBQ0UsVUFBVTtJQUNWLFNBQVM7SUFDVCxzQkFBc0I7O0FBR3hCO0lBQ0Usa0JBQWtCO0lBQ2xCLFVBQVU7O0FBUVo7SUFDRSxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLFNBQVM7O0FBS1Q7SUFDRSxjQUFpQjs7QUFEbkI7SUFDRSxhQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxZQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxjQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxZQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxjQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxZQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxjQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxZQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxjQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxZQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxjQUFpQjs7QUFEbkI7SUFDRSxlQUFpQjs7QUFEbkI7SUFDRSxZQUFpQjs7QUFPbkI7SUFDRSxnQkFBZTs7QUFEakI7SUFDRSxnQkFBZTs7QUFEakI7SUFDRSxhQUFlOztBQURqQjtJQUNFLGlCQUFlOztBQURqQjtJQUNFLGlCQUFlOztBQURqQjtJQUNFLFdBQWU7O0FBRGpCO0lBQ0UsaUJBQWU7O0FBRGpCO0lBQ0UsaUJBQWU7O0FBRGpCO0lBQ0UsYUFBZTs7QUFEakI7SUFDRSxpQkFBZTs7QUFEakI7SUFDRSxpQkFBZTs7QUFEakI7SUFDRSxXQUFlOztBQURqQjtJQUNFLGlCQUFlOztBQURqQjtJQUNFLGlCQUFlOztBQURqQjtJQUNFLGFBQWU7O0FBRGpCO0lBQ0UsaUJBQWU7O0FBRGpCO0lBQ0UsaUJBQWU7O0FBRGpCO0lBQ0UsV0FBZTs7QUFEakI7SUFDRSxpQkFBZTs7QUFEakI7SUFDRSxpQkFBZTs7QUFEakI7SUFDRSxhQUFlOztBQURqQjtJQUNFLGlCQUFlOztBQURqQjtJQUNFLGlCQUFlOztBQURqQjtJQUNFLFlBQWU7O0FBTW5CO0lBQ0UsYUFBZ0I7O0FBR2xCO0lBQ0UsY0FBaUI7O0FBR25CO0lBQ0UsaUJBQWlCOztBQUduQjs7SUFFRSxnQkFBaUI7O0FBR25CO0lBQ0UsZ0JBQWlCOztBQUtqQjtJQUNFLG9CQUF1Qjs7QUFEekI7SUFDRSxtQkFBdUI7O0FBRHpCO0lBQ0UscUJBQXVCOztBQUR6QjtJQUNFLGtCQUF1Qjs7QUFEekI7SUFDRSxxQkFBdUI7O0FBRHpCO0lBQ0Usb0JBQXVCOztBQUR6QjtJQUNFLHFCQUF1Qjs7QUFEekI7SUFDRSxrQkFBdUI7O0FBRHpCO0lBQ0UscUJBQXVCOztBQUR6QjtJQUNFLG9CQUF1Qjs7QUFEekI7SUFDRSxxQkFBdUI7O0FBRHpCO0lBQ0Usa0JBQXVCOztBQUR6QjtJQUNFLHFCQUF1Qjs7QUFEekI7SUFDRSxvQkFBdUI7O0FBRHpCO0lBQ0UscUJBQXVCOztBQUR6QjtJQUNFLGtCQUF1Qjs7QUFEekI7SUFDRSxxQkFBdUI7O0FBRHpCO0lBQ0Usb0JBQXVCOztBQUR6QjtJQUNFLHFCQUF1Qjs7QUFEekI7SUFDRSxrQkFBdUI7O0FBRHpCO0lBQ0UscUJBQXVCOztBQUR6QjtJQUNFLG9CQUF1Qjs7QUFEekI7SUFDRSxxQkFBdUI7O0FBRHpCO0lBQ0Usa0JBQXVCOztBQWMzQjtJQUNFLFdBQVc7SUFDWCxjQUFjOztBQUdoQjtJQUNFLFdBQVc7SURqRFgsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGFBQWE7SUF1Q2IsdUJDU3VCO0lEUnZCLG9CQ1F1QjtJRERyQixtQkNDcUI7SURFdkIsZUNGdUI7SUFFdkIsOEJBQThCO0lBQzlCLHNCQUFzQjtJQVB4QjtRQVVJLHNCQUFzQjs7QUFjMUI7SUQrRUkseUJDOUV5QjtJRCtFekIsc0JDL0V5QjtJRGtGM0IsMkJDbEYyQjtJRG1GM0Isd0JDbkYyQjtJRG9GM0IsbUJDcEYyQjtJRHlEekIsd0JDeEQ2QjtJRHlEN0IscUJDekQ2QjtJRDREL0IsK0JDNUQrQjtJRDZEL0IsNEJDN0QrQjtJRDhEL0IsdUJDOUQrQjs7QUFHakM7SURxVUksb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGFBQWE7SUE2QmIseUJDclc2QjtJRHNXN0Isc0JDdFc2QjtJRHlXL0IsMkJDelcrQjtJRDBXL0Isd0JDMVcrQjtJRDJXL0IsbUJDM1crQjtJRGtZN0Isd0JDbFlxQztJRG1ZckMscUJDbllxQztJRHNZdkMsK0JDdFl1QztJRHVZdkMsNEJDdll1QztJRHdZdkMsdUJDeFl1QztJRHhEckMsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQWE5Qiw4QkMyQzhCO0lEMUM5QiwyQkMwQzhCO0lEekM5QiwwQkN5QzhCO0lEeEM5QixzQkN3QzhCO0lBRmhDO1FEcURJLHdCQ2hEK0I7UURpRC9CLHFCQ2pEK0I7UURvRGpDLCtCQ3BEaUM7UURxRGpDLDRCQ3JEaUM7UURzRGpDLHVCQ3REaUM7O0FBSW5DO0lEaUVJLHlCQ2hFeUI7SURpRXpCLHNCQ2pFeUI7SURvRTNCLDJCQ3BFMkI7SURxRTNCLHdCQ3JFMkI7SURzRTNCLG1CQ3RFMkI7SUQyQ3pCLHdCQzFDNkI7SUQyQzdCLHFCQzNDNkI7SUQ4Qy9CLCtCQzlDK0I7SUQrQy9CLDRCQy9DK0I7SURnRC9CLHVCQ2hEK0I7SUFGakM7UURpRUkseUJDNUQyQjtRRDZEM0Isc0JDN0QyQjtRRGdFN0IsMkJDaEU2QjtRRGlFN0Isd0JDakU2QjtRRGtFN0IsbUJDbEU2QjtRRHVDM0Isd0JDdEMrQjtRRHVDL0IscUJDdkMrQjtRRDBDakMsK0JDMUNpQztRRDJDakMsNEJD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QUMzQiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLG9CQUFvQjtRQWVwQix5Qk92QjBDO1FQd0IxQyxzQk94QjBDO1FQMkI1QywyQk8zQjRDO1FQNEI1Qyx3Qk81QjRDO1FQNkI1QyxtQk83QjRDO1FQb0QxQyx3Qk9wRGtEO1FQcURsRCxxQk9yRGtEO1FQd0RwRCwrQk94RG9EO1FQeURwRCw0Qk96RG9EO1FQMERwRCx1Qk8xRG9EO1FBVnREO1lBYVksbUNBQW1DO1FBYi9DO1lBaUJZLGtCQUFrQjtZQUNsQixVQUFVO1lBQ1YsTUFBTTtZQUNOLFNBQVM7WUFDVCxRQUFRO1lBQ1IsT0FBTztZQUNQLGNBQWM7WUFDZCxZQUFZO1FBeEJ4QjtZQTRCWSxZQUFZO1lQNUJwQixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsYUFBYTtZQTZCYix5Qk9IdUM7WVBJdkMsc0JPSnVDO1lQT3pDLDJCT1B5QztZUFF6Qyx3Qk9SeUM7WVBTekMsbUJPVHlDO1lQZ0N2Qyx3Qk9oQytDO1lQaUMvQyxxQk9qQytDO1lQb0NqRCwrQk9wQ2lEO1lQcUNqRCw0Qk9yQ2lEO1lQc0NqRCx1Qk90Q2lEO1lBOUJuRDtnQkFpQ2MsV0FBVztnQkFDWCxjQUFjO2dCQUNkLFdBQVc7Z0JBQ1gsWUFBWTtnQkFDWixrQkFBa0I7Z0JBQ2xCLE1BQU07Z0JBQ04sT0FBTztnQkFDUCx5QkpuZEE7Z0JJb2RBLFVBQVU7Z0JQOU50QixnQ09nTytDO2dCUC9OL0MsOEJPK04rQztnQlA5Ti9DLCtCTzhOK0M7Z0JQN04vQyxtQ082TitDO2dCUDVOL0MsMkJPNE4rQztnQlBqTi9DLG1FT2tOa0Y7Z0JQak5sRixpRU9pTmtGO2dCUGhObEYsc0VPZ05rRjtnQlAvTWxGLDhETytNa0Y7WUFHeEU7Z0JBL0NaO29CUHJMRSw2Qk9zT2dEO29CUHJPaEQsMkJPcU9nRDtvQlBwT2hELDRCT29PZ0Q7b0JQbk9oRCxnQ09tT2dEO29CUGxPaEQsd0JPa09nRCxJQUNqQztRQWxEakI7WUF3RFUsa0JBQWtCO1lBQ2xCLFdB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QUFnQjtJQW5CeEI7OztRQXVCUSxrQkFBa0I7UUFDbEIsU0FBUztRQUNULE9BQU87UUFDUCxRQUFRO1FBQ1IsY0FBYztRQUNkLFlBQVk7UVJySGxCLCtCUXVId0M7UVJ0SHhDLDZCUXNId0M7UVJySHhDLDhCUXFId0M7UVJwSHhDLGtDUW9Id0M7UVJuSHhDLDBCUW1Id0M7SUFHdEM7UUFqQ0o7OztZQWtDUSxpQkFBaUI7WUFsQ3pCOzs7Z0JBcUNZLG1CQUFtQixJQUN0Qjs7QUFJVDs7SUFLWSxpQkFBaUI7SUFDakIsb0JBQW9COztBQU5oQztJQVdnQixlTGxZRDs7QUt1WGY7SUFlZ0IsYUx0WUQ7O0FLdVhmO0lSOU5JLHdCUW1QdUM7SVJsUHZDLHFCUWtQdUM7SVIvT3pDLCtCUStPeUM7SVI5T3pDLDRCUThPeUM7SVI3T3pDLHVCUTZPeUM7SVIvVnZDLDZCQUE2QjtJQUM3Qiw0QkFBNEI7SUFhOUIsOEJRa1Z3QztJUmpWeEMsMkJRaVZ3QztJUmhWeEMsMEJRZ1Z3QztJUi9VeEMsc0JRK1V3QztJQXRCMUM7UUF5QmdCLGtCQUFrQjs7QUFpQmxDO0lBQ0k7UVI5S0YsZ0NRZ0w2QztRUi9LN0MsOEJRK0s2QztRUjlLN0MsK0JROEs2QztRUjdLN0MsbUNRNks2QztRUjVLN0MsMkJRNEs2QztJQUYzQztRUjlLRiw0QlFvTHlDO1FSbkx6QywwQlFtTHlDO1FSbEx6QywyQlFrTHlDO1FSakx6QywrQlFpTHlDO1FSaEx6Qyx1QlFnTHlDO0lBSXZDOztRQUVJLGVBQWUsSUFDbEI7O0FBR0w7SUFDSTtRQUNJLFVBQVUsSUFDYjs7QUFHTDtJUnlERTs7Ozs7UUFDSSw0Qkd0ZlE7UUh1ZlIsZVFwRCtEO1FScUQvRCxnQlFyRG9FO1FSNUx4RSw4REc5UGtDO1FIK1BsQyw0REcvUGtDO1FIZ1FsQyxpRUdoUWtDO1FIaVFsQyx5REdqUWtDO0lIb2ZoQzs7Ozs7UUFDSSw0Qkc5Zk07UUgrZk4sZVE1RDZEO1FSNkQ3RCxnQlE3RGtFO1FSNUx4RSw4REc5UGtDO1FIK1BsQyw0REcvUGtDO1FIZ1FsQyxpRUdoUWtDO1FIaVFsQyx5REdqUWtDO0lINGZoQzs7Ozs7UUFDSSw0Qkd0Z0JNO1FIdWdCTixlUXBFNkQ7UVJxRTdELGdCUXJFa0U7UVI1THhFLDhERzlQa0M7UUgrUGxDLDRERy9Qa0M7UUhnUWxDLGlFR2hRa0M7UUhpUWxDLHlER2pRa0M7SUhvZ0JoQzs7Ozs7UUFDSSw0Qkc5Z0JNO1FIK2dCTixlUTVFNkQ7UVI2RTdELGdCUTdFa0U7UVI1THhFLDhERzlQa0M7UUgrUGxDLDRERy9Qa0M7UUhnUWxDLGlFR2hRa0M7UUhpUWxDLHlER2pRa0M7SUg0Z0JoQzs7Ozs7UUFDSSxVQUFVO0lBR2Q7Ozs7O1FBQ0ksYUFBYTtJUXBGakI7O1FBRUksZUFBZTtJQUduQjtRQUNJLGtCQUFrQjtJQUd0QjtRQUNJLGdCQUFnQixJQUNuQjs7QUFLTDtJQUVJOztRQUVJLFdBQVc7UUFGZjs7WVIzVEEsd0JRZ1V1QztZUi9UdkMscUJRK1R1QztZUjVUekMsK0JRNFR5QztZUjNUekMsNEJRMlR5QztZUjFUekMsdUJRMFR5QztZUjNTdkMseUJRNFNtQztZUjNTbkMsc0JRMlNtQztZUnhTckMsMkJRd1NxQztZUnZTckMsd0JRdVNxQztZUnRTckMsbUJRc1NxQztZUjdhbkMsNkJBQTZCO1lBQzdCLDRCQUE0QjtZQWE5Qiw4QlFnYXdDO1lSL1p4QywyQlErWndDO1lSOVp4QywwQlE4WndDO1lSN1p4QyxzQlE2WndDO1lBUHRDOztnQkFVWSxnQkFBZ0I7SVJtQjlCOzs7OztRQUNJLDRCR3RmUTtRSHVmUixlUVYrRDtRUlcvRCxpQlFYcUU7UVJ0T3pFLDhERzlQa0M7UUgrUGxDLDRERy9Qa0M7UUhnUWxDLGlFR2hRa0M7UUhpUWxDLHlER2pRa0M7SUhvZmhDOzs7OztRQUNJLDRCRzlmTTtRSCtmTixlUWxCNkQ7UVJtQjdELGlCUW5CbUU7UVJ0T3pFLDhERzlQa0M7UUgrUGxDLDRERy9Qa0M7UUhnUWxDLGlFR2hRa0M7UUhpUWxDLHlER2pRa0M7SUg0ZmhDOzs7OztRQUNJLDRCR3RnQk07UUh1Z0JOLGVRMUI2RDtRUjJCN0QsaUJRM0JtRTtRUnRPekUs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d0IsZU4vRlQ7WU1WZjtnQkErR2dCLHNDTjVGZ0I7Z0JNNkZoQixnQkFBZ0I7WUFoSGhDOztnQlQ4UEUseUJTdkk4QztnQlR3STlDLHVCU3hJOEM7Z0JUeUk5Qyx3QlN6SThDO2dCVDBJOUMsNEJTMUk4QztnQlQySTlDLG9CUzNJOEM7WUFJcEM7Z0JBM0haO29CVDhQRSx3QlNqSTZDO29CVGtJN0Msc0JTbEk2QztvQlRtSTdDLHVCU25JNkM7b0JUb0k3QywyQlNwSTZDO29CVHFJN0MsbUJTckk2QztnQkE3SC9DO29CVDhQRSwwQlM1SG1EO29CVDZIbkQsd0JTN0htRDtvQlQ4SG5ELHlCUzlIbUQ7b0JUK0huRCw2QlMvSG1EO29CVGdJbkQscUJTaEltRDtnQkFsSXJEO29CQXNJd0IsdUJBQXVCLElBQzFCO1lBSVQ7Z0JBM0laO29CQTZJb0Isc0JBQXVCO29CQTdJM0M7d0JBZ0p3QixzQ0FBc0M7d0JBQ3RDLHVDQUF1QyxJQUMxQztRQWxKckI7Ozs7WUEySlksb0JBQW9CO1FBM0poQztZQStKWSxrQkFBa0I7WUFDbEIsV0FBVztZQUNYLFdBQVc7WUFDWCxtQk54Skc7WU15SkgsWUFBWTtZQUNaLE9BQU87WUFDUCxRQUFRO1lUeUZsQix5QlN2RnNDO1lUd0Z0Qyx1QlN4RnNDO1lUeUZ0Qyx3QlN6RnNDO1lUMEZ0Qyw0QlMxRnNDO1lUMkZ0QyxvQlMzRnNDO1lUc0d0Qyx1SEc5UGtDO1lIK1BsQyxxSEcvUGtDO1lIZ1FsQywwSEdoUWtDO1lIaVFsQyxrSEdqUWtDO0lNZnBDO1FBK0tRLGtCQUFrQjtRQS9LMUI7WVQ4UEUsd0JTNUVxQztZVDZFckMsc0JTN0VxQztZVDhFckMsdUJTOUVxQztZVCtFckMsMkJTL0VxQztZVGdGckMsbUJTaEZxQztRQWxMdkM7WVQ4UEUsd0JTeEVxQztZVHlFckMsc0JTekVxQztZVDBFckMsdUJTMUVxQztZVDJFckMsMkJTM0VxQztZVDRFckMsbUJTNUVxQztRQXRMdkM7WUEwTFksZUFBZTtJQTFMM0I7UUErTFEsZ0JBQWdCO1FBL0x4QjtZQWtNWSxnQkFBZ0I7WUFDaEIsbUNO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LG1DVWhIcUM7SVZpSHJDLDJCVWpIcUM7SVY0SHJDLG9FRzdQeUM7SUg4UHpDLGtFRzlQeUM7SUgrUHpDLHVFRy9QeUM7SUhnUXpDLCtER2hReUM7SU8ySDNDO1FBVVEsMENBQTJDO1FWcEhqRCxvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsYUFBYTtRVXNHZjtZVmtJRSw4REc3UHlDO1lIOFB6Qyw0REc5UHlDO1lIK1B6QyxpRUcvUHlDO1lIZ1F6Qyx5REdoUXlDOztBTytJM0M7SUFDSSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFKcEI7UUFVWSxTQUFTO1FBQ1Qsa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxjQUFjO1FBQ2QsT0FBTztRQUNQLFFBQVE7UUFDUixTQUFTO1FBQ1QsWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsd0JBQXdCO1FBQ3hCLFlBQVk7UVZ5RnRCLHlEVXZGc0U7UVZ3RnRFLHVEVXhGc0U7UVZ5RnRFLDREVXpGc0U7UVYwRnRFLG9EVTFGc0U7SUF2QnhFO1FBNkJZLGNQckxHO0lPd0pmOztRQWtDWSxhUDFMRztRTzJMSCxlUDNMRztJT3dKZjtRQXVDWSxtQlAvTEc7SU93SmY7UUE2Q1ksY1BwTUU7SU91SmQ7O1FBa0RZLGFQek1FO1FPME1GLGVQMU1FO0lPdUpkO1FBdURZLG1CUDlNRTtJT3VKZDs7UUE0RFksb0JBQW9CO0lBNURoQztRQWtFWSxjUHZORztJT3FKZjs7UUF1RVksYVA1Tkc7UU82TkgsZVA3Tkc7SU9xSmY7UUE0RVksbUJQak9HO0lPcUpmO1FBc0ZRLHlCQUF5QjtRVndCL0IsbUVVdEI0RTtRVnVCNUUsaUVVdkI0RTtRVndCNUUsc0VVeEI0RTtRVnlCNUUsOERVekI0RTtJQUcxRTtRQTNGSjtZVitGRSx5QlVBc0M7WVZDdEMsdUJVRHNDO1lWRXRDLHdCVUZzQztZVkd0Qyw0QlVIc0M7WVZJdEMsb0JVSnNDLElBQy9COztBQUlUO0lBS1EsbUNBQW1DO0lBQ25DLFlBQVk7SUFDWixrQkFBa0I7SVZ5S3RCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixhQUFhO0lBNkJiLHlCVXhNbUM7SVZ5TW5DLHNCVXpNbUM7SVY0TXJDLDJCVTVNcUM7SVY2TXJDLHdCVTdNcUM7SVY4TXJDLG1CVTlNcUM7SVZxT25DLHdCVXJPMkM7SVZzTzNDLHFCVXRPMkM7SVZ5TzdDLCtCVXpPNkM7SVYwTzdDLDRCVTFPNkM7SVYyTzdDLHVCVTNPNkM7O0FBVC9DO0lBYVEsVUFBVTtJQUNWLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsbUJQM1FNO0lPNFFOLHFCQUFxQjtJQUNyQixpQkFBaUI7SVZSdkIsbUVVVTRFO0lWVDVFLGlFVVM0RTtJVlI1RSxzRVVRNEU7SVZQNUUsOERVTzRFO0lBcEI5RTtRQXVCWSxlQUFlOztBQUl2QjtJQTNCSjtRVkxFLGdDVW1DaUQ7UVZsQ2pELDhCVWtDaUQ7UVZqQ2pELCtCVWlDaUQ7UVZoQ2pELG1DVWdDaUQ7UVYvQmpELDJCVStCaUQ7SUE5Qm5EO1FWTEUsd0JVdUN5QztRVnRDekMsc0JVc0N5QztRVnJDekMsdUJVcUN5QztRVnBDekMsMkJVb0N5QztRVm5DekMsbUJVbUN5QztJQWxDM0M7UVZMRSxpQ1UyQ2tEO1FWMUNsRCwrQlUwQ2tEO1FWekNsRCxnQ1V5Q2tEO1FWeENsRCxvQ1V3Q2tEO1FWdkNsRCw0QlV1Q2tELElBQ3ZDOztBQU1iO0lBSUksaUNBQWlDO0lBQ2pDLG9CQUFvQjtJQUNwQiwwQ0FBMEM7O0FBRzlDOztJQUVJLHdDQUF3RTtJQUN4RSxxQ0FBdUU7O0FBRzNFO0lBRVEsd0NBQXdDO0lBQ3hDLHFDQUFxQzs7QUFIN0M7SUFPUSxzQ0FBd0U7SUFDeEUsdUNBQXlFO0lBQ3pFLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsdUJBQXVCO0lWaUh6QixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQXFCZix5QlV4SXNDO0lWeUl0QyxzQlV6SXNDO0lWNEl4QywyQlU1SXdDO0lWNkl4Qyx3QlU3SXdDO0lWOEl4QyxtQlU5SXdDO0lWcUt0Qyx3QlVySzhDO0lWc0s5QyxxQlV0SzhDO0lWeUtoRCwrQlV6S2dEO0lWMEtoRCw0QlUxS2dEO0lWMktoRCx1QlUzS2dEO0lBYmxEO1FBZ0JZLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsV0FBVztRQUNYLGNBQWM7UUFDZCxNQUFNO1FBQ04sT0FBTztRQUNQLFFBQVE7UUFDUixTQUFTO1FBQ1QsWUFBWTtRQUNaLG1CUC9VUztRSG9RbkIsbUVHN1B5QztRSDhQekMsaUVHOVB5QztRSCtQekMsc0VHL1B5QztRSGdRekMsOERHaFF5Qzs7QU8rVTNDO0lBQ0ksVUFBVTtJVjJGUixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQXFCZix5QlVsSGtDO0lWbUhsQyxzQlVuSGtDO0lWc0hwQywyQlV0SG9DO0lWdUhwQyx3QlV2SG9DO0lWd0hwQyxtQlV4SG9DO0lWc0lsQyx5QkFBeUI7SUFDekIsc0JBQXNCO0lBWXhCLHNDVW5KbUQ7SVZvSm5ELG1DVXBKbUQ7SVZxSm5ELDhCVXJKbUQ7SUFIckQ7O1FWU0UsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0Isb0JBQW9CO0lVWnRCO1FBV1Esa0NQclZvQjtRT3VWcEIsZ0JBQWdCOztBQUl4QjtJQUNJLHlDQUEyRTtJQUMzRSwwQ0FBNEU7SUFDNUUsa0JBQWtCO0lWd0VoQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQXFCZix5QlUvRmtDO0lWZ0dsQyxzQlVoR2tDO0lWbUdwQywyQlVuR29DO0lWb0dwQyx3QlVwR29DO0lWcUdwQyxtQlVyR29DO0lWNEhsQyx3QlU1SDBDO0lWNkgxQyxxQlU3SDBDO0lWZ0k1QywrQlVoSTRDO0lWaUk1Qyw0QlVqSTRDO0lWa0k1Qyx1QlVsSTRDO0lWOVQxQyw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBYTlCLDhCVWlUZ0M7SVZoVGhDLDJCVWdUZ0M7SVYvU2hDLDBCVStTZ0M7SVY5U2hDLHNCVThTZ0M7SUFObEM7UUFTUSxtQlBqWE07UU93V2Q7WUFZWSxjUHJYRztRT3lXZjtZQWdCWSxhUHpYRztJT3lXZjtRQXFCUSxrQkFBa0I7SUFyQjFCO1FBeUJRLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsbUNQdlhxQjtRT3dYckIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixtQ0FBbUM7UUFDbkMsbUJBQW1COztBQUkzQjtJQUNJLHNDQUEwRTtJQUMxRSx1Q0FBMkU7SUFDM0Usa0JBQWtCO0lWcUNoQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQXFCZix5QlU1RGtDO0lWNkRsQyxzQlU3RGtDO0lWZ0VwQywyQlVoRW9DO0lWaUVwQyx3QlVqRW9DO0lWa0VwQyxtQlVsRW9DO0lWeUZsQyx3QlV6RjBDO0lWMEYxQyxxQlUxRjBDO0lWNkY1QywrQlU3RjRDO0lWOEY1Qyw0QlU5RjRDO0lWK0Y1Qyx1QlUvRjRDO0lWalcxQyw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBYTlCLDhCVW9WZ0M7SVZuVmhDLDJCVW1WZ0M7SVZsVmhDLDBCVWtWZ0M7SVZqVmhDLHNCVWlWZ0M7SUFObEM7UUFTUSxtQlBwWk07UU8yWWQ7WUFZWSxjUHhaRztRTzRZZjtZQWdCWSxhUDVaRztJTzRZZjtRQXFCUSxrQkFBa0I7SUFyQjFCO1FBeUJRLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsbUNQMVpxQjtRTzJackIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixtQ0FBbUM7SUE5QjNDO1FBcUNZLG1CUC9hUztJTzBZckI7O1FBMENZLGFQcmJFO0lPMllkO1FBK0NRLDhCQUF3RTtRQUN4RSwrQkFBeUU7SUFHN0U7UUFuREo7WUFvRFEsaUNBQXlDO1lBQ3pDLGtDQUEwQyxJQUVqRDs7QUFFRDs7OztJVi9MRSxxSEc3UHlDO0lIOFB6QyxtSEc5UHlDO0lIK1B6Qyx3SEcvUHlDO0lIZ1F6QyxnSEdoUXlDOztBT21jM0M7SUFDSSxrQ0FBd0U7SUFDeEUsbUNBQXlFO0lBQ3pFLGtCQUFrQjtJQUNsQixvQkFBb0I7SVY1QmxCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixhQUFhO0lBcUJmLHlCVU1rQztJVkxsQyxzQlVLa0M7SVZGcEMsMkJVRW9DO0lWRHBDLHdCVUNvQztJVkFwQyxtQlVBb0M7SVZ1QmxDLHdCVXZCMEM7SVZ3QjFDLHFCVXhCMEM7SVYyQjVDLCtCVTNCNEM7SVY0QjVDLDRCVTVCNEM7SVY2QjVDLHVCVTdCNEM7SUFQOUM7UUFVUSxtQlByZE07SU8yY2Q7UUFjUSxtQlB4ZGE7UU8wY3JCO1lBaUJZLG1CUDNkUztRTzBjckI7WUFxQlksYVBoZUU7SU8yY2Q7UUE4QlksYVB6ZUU7SU8yY2Q7UUFtQ1Esd0NBQXdFO1FBQ3hFLHlDQUF5RTtJQXBDakY7UUF3Q1Esc0JBQXNCO1FBQ3RCLHVCQUF1QjtJQUczQjtRQTVDSjtZQTZDUSxtQ0FBeUU7WUFDekUsb0NBQTBFLElBRWpGOztBQUVEO0lBRVEsd0NBQXdDO0lBQ3hDLFlBQVk7SVYxUWxCLDhCVTJRdUM7SVYxUXZDLDRCVTBRdUM7SVZ6UXZDLDZCVXlRdUM7SVZ4UXZDLGlDVXdRdUM7SVZ2UXZDLHlCVXVRdUM7O0FBSXpDO0lBQ0ksbUJQcmdCaUI7O0FPd2dCckI7SUFDSSxvR0FBZ0o7SUFDaEosZ0NBQWdDO0lBQ2hDLHNDQUFzQztJQUN0Qyw0QkFBNEI7SUFDNUIsa0JBQWtCOztBQUd0Qjs7SUFFSSxnR0FBa0k7SUFDbEksZ0NBQWdDO0lBQ2hDLHNDQUFzQztJQUN0Qyw0QkFBNEI7O0FBR2hDOzs7O0lWcFJFLDZIRzdQeUM7SUg4UHpDLDJIRzlQeUM7SUgrUHpDLGdJRy9QeUM7SUhnUXpDLHdIR2hReUM7SU91aEJ2QztRQU5KOzs7O1lBUVksZ0NBQWdDO1lBRWhDLHFDQUFxQztZQUNyQywyQkFBMkIsSUFDOUI7O0FBS1Q7SUFDSSxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGdDQUFnQztJQUNoQyx1Q0FBdUM7SUFDdkMsNEJBQTRCO0lBQzVCLG1CQUFtQjtJQUNuQixzQkFBc0I7SVY1U3hCLDhERzlQa0M7SUgrUGxDLDRERy9Qa0M7SUhnUWxDLGlFR2hRa0M7SUhpUWxDLHlER2pRa0M7SU9taUJwQztRQVlRLGtMQUE0SztRQUM1SyxnTEFBMEs7UUFDMUssa0tBQTRKO0lBZHBLO1FBa0JRLGtMQUNpRjtRQUNqRixnTEFDZ0Y7UUFDaEYsa0tBQ3lFO0lBdkJqRjtRQTJCUSxrTEFDK0U7UUFDL0UsZ0xBQzhFO1FBQzlFLGtLQUN1RTtJQWhDL0U7UUFvQ1EsZUFBZTtJQXBDdkI7UUF5Q1EsY1BsbEJhOztBT3NsQnJCO0lBQ0ksa0JBQWtCO0lBRHRCO1FBSVEsOEJBQXdFO1FBQ3hFLCtCQUF5RTtRQUN6RSxlQUFlO0lBTnZCO1FBYVkseUJQcG1CRTtRT3NtQkYsbUJBQW1CO0lBZi9COztRQW9CWSxhUDVtQkc7UU82bUJILGVQN21CRzs7QU8rbkJmO0lBQ0ksa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsZ0JBQW9CO0lBQ3BCLHlDQUEwRDtJQUMxRCwwQ0FBMkQ7SUFDM0QseUNBQXlEO0lBQ3pELDRDQUE0RDtJVmpZOUQsaUVHN1B5QztJSDhQekMsK0RHOVB5QztJSCtQekMsb0VHL1B5QztJSGdRekMsNERHaFF5QztJT3NuQjNDO1FBcUJRLHNDUHhvQndCO1FPeW9CeEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsb0JBQW9CO0lBR3hCO1FBNUJKO1lBOEJZLGVBQWU7WUFDZixpQkFBaUIsSUFDcEI7O0FBSVQ7SUFDSSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQU87SUFDUCxRQUFRO0lBQ1IsU0FBUztJQUNULFdBQVc7SUFDWCxZQUFZOztBQUdoQjtJQUNJLHVCQUF1QjtJQUQzQjtRQUlRLGtCQUFrQjtRQUNsQixXQUFXO1FBQ1gsY0FBYztRQUNkLE1BQU07UUFDTixPQUFPO1FBQ1AsUUFBUTtRQUNSLFNBQVM7UUFDVCxZQUFZO1FBQ1osbUJQdnJCYTtRT3dyQmIsbUJBQW1CO1FBQ25CLHdCQUF3QjtJQWRoQztRQWtCUSxZQUFZO1FBbEJwQjtZQXFCWSxhUC9yQkc7SU9tc0JYO1FBekJKO1lBMkJZLHVCQUF1QjtZQTNCbkM7Z0JBOEJnQixtQkFBbUI7Z0JWcGRqQyxnQ1V1ZGlEO2dCVnRkakQsOEJVc2RpRDtnQlZyZGpELCtCVXFkaUQ7Z0JWcGRqRCxtQ1VvZGlEO2dCVm5kakQsMkJVbWRpRDtZQWpDbkQ7Z0JWdGJFLDRCVTJkNkM7Z0JWMWQ3QywwQlUwZDZDO2dCVnpkN0MsMkJVeWQ2QztnQlZ4ZDdDLCtCVXdkNkM7Z0JWdmQ3Qyx1QlV1ZDZDLElBQ2xDOztBQUtiOzs7SVZsZEUsd0hHN1B5QztJSDhQekMsc0hHOVB5QztJSCtQekMsMkhHL1B5QztJSGdRekMsbUhHaFF5Qzs7QU9xdEIzQztJQUNJLHNCQUFzQjtJVnJzQnhCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixhQUFhO0lVZ3NCZjtRQU1RLGdCQUFnQjs7QUFJeEI7SUFDSSxtQlB2dUJpQjtJT3d1QmpCLGNQdnVCVztJT3d1QlgsK0JQaHZCVTtJT2l2QlYsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lWblVuQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQTZCYix5QlVvUytCO0lWblMvQixzQlVtUytCO0lWaFNqQywyQlVnU2lDO0lWL1JqQyx3QlUrUmlDO0lWOVJqQyxtQlU4UmlDO0lWaFIvQix5QkFBeUI7SUFDekIsc0JBQXNCO0lBWXhCLHNDVW1RZ0Q7SVZsUWhELG1DVWtRZ0Q7SVZqUWhELDhCVWlRZ0Q7SUFUbEQ7UUFZUSxnQkFBZ0I7UUFDaEIsZ0JBQXFCO1FBQ3JCLGdCQUFnQjtRVnJadEIsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0Isb0JBQW9CO0lVb1l0QjtRQW9CUSxrQkFBa0I7UUFDbEIsbUJQN3ZCTztRSDJiWCwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLDJCQUEyQjtRQUMzQixvQkFBb0I7UUFlcEIseUJVa1QwQztRVmpUMUMsc0JVaVQwQztRVjlTNUMsMkJVOFM0QztRVjdTNUMsd0JVNlM0QztRVjVTNUMsbUJVNFM0QztRVnJSMUMsd0JVcVJrRDtRVnBSbEQscUJVb1JrRDtRVmpScEQsK0JVaVJvRDtRVmhScEQsNEJVZ1JvRDtRVi9RcEQsdUJVK1FvRDtRQXZCdEQ7WUEwQlksV0FBVztZQUNYLFlBQVk7UUEzQnhCOztZQWdDWSxvQkFBb0I7SUFJNUI7UUFwQ0o7WUFzQ1ksOEJBQXdFO1lBQ3hFLCtCQUF5RSxJQUM1RTtJQUdMO1FBM0NKO1lBNENRLGdCUHp4Qk07WU82dUJkO2dCQStDWSwwQ0FBd0U7Z0JBQ3hFLDJDQUF5RTtnQkFoRHJGO29CQW1EZ0IsV0FBVztvQkFDWCxZQUFZO1lBcEQ1QjtnQkF5RFksZUFBZTtnQkFDZixtQ0FBbUM7Z0JBQ25DLDBCQUF3QixJQUUzQjs7QUFJVDtJQUNJO1FBSVEsYVA1eUJTO0lPd3lCakI7UUFRUSxjUGh6QlM7SU91ekJqQjtRVmxrQkYsZ0NVb2tCNkM7UVZua0I3Qyw4QlVta0I2QztRVmxrQjdDLCtCVWtrQjZDO1FWamtCN0MsbUNVaWtCNkM7UVZoa0I3QywyQlVna0I2QztJQUYzQztRQU1RLHVCQUF1QjtJQUkvQjs7UVY1a0JGLDBCVThrQm1DO1FWN2tCbkMsd0JVNmtCbUM7UVY1a0JuQyx5QlU0a0JtQztRVjNrQm5DLDZCVTJrQm1DO1FWMWtCbkMscUJVMGtCbUMsSUFDaEM7O0FBR0w7SUFDRSxtQkFBbUI7SUFDbkIsbUJQMTBCWTtJTzIwQlosa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGdDUGowQndCO0lPazBCeEIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osYUFBYTtJQWRmO1FBaUJJLGdCQUFnQjtRQUNoQix3RFBuMUJnQztRT28xQmhDLG1DQUFtQztRQUNuQyxzQkFBc0I7UUFDdEIseUJBQXlCO0lBckI3QjtRQTBCTSxxQ0FBcUM7O0FDOTJCM0M7SUFDRSxtQlJTWTtJUVZkO1FBS0ksVUFBVTtRQUNWLGtCQUFrQjtRWGlibEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGFBQWE7UUF3QmIsc0JBQXNCO1FBQ3RCLG1CQUFtQjtRQVFyQiw2QldwZG1DO1FYcWRuQywwQldyZG1DO1FYc2RuQyxxQld0ZG1DO1FYNmVqQyx3Qlc3ZXlDO1FYOGV6QyxxQlc5ZXlDO1FYaWYzQywrQldqZjJDO1FYa2YzQyw0QldsZjJDO1FYbWYzQyx1QlduZjJDO0lBUjdDO1FBYUksV0FBVztRQUNYLFlBQVk7UUFDWixvQkFBb0I7SUFHdEI7UUFsQkY7WUFvQk0sZ0JBQWdCLElBQ2pCO0lBR0g7UUF4QkY7WUEwQk0sV0FBZSxJQUNoQjs7QUFJTDtJQUNFLGtCQUFrQjtJQURwQjtRQUlJLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUVsQjtZQVpKO2dCQWFNLGVBQWU7Z0JBQ2YsZUFBZSxJQUVsQjtJQU1EO1FBdEJGO1lBd0JNLCtCQUErQjtRQXhCckM7WUE0Qk0saUJBQWlCO1FBNUJ2QjtZQWdDTSwyQkFBMkIsSUFDNUI7SUFHSDtRQXBDRjtZQXNDTSxjQUFnQjtRQXRDdEI7WUEwQ00sY0FBYyxJQUNmO0lBS0g7UUFoREY7WUFpREksa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQWxEeEI7Z0JBcURNLDJCQUEyQjtZQXJEakM7Z0JBeURNLFlBQWlCLElBQ2xCOztBQUlMO0lBRUUsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUh0QjtRQU1JLFdBQVc7UVg5RGIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGFBQWE7UUFrQlgsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQWE5Qiw4Qlc2QmdDO1FYNUJoQywyQlc0QmdDO1FYM0JoQywwQlcyQmdDO1FYMUJoQyxzQlcwQmdDO0lBVGxDO1FBYUksa0JBQWtCO1FBYnRCO1lYMFZJLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixhQUFhO1lBbUJiLHdCQUF3QjtZQUN4QixxQkFBcUI7WUFhdkIsK0JXL1d1QztZWGdYdkMsNEJXaFh1QztZWGlYdkMsdUJXalh1QztZWHdZckMsd0JXeFk2QztZWHlZN0MscUJXelk2QztZWDRZL0MsK0JXNVkrQztZWDZZL0MsNEJXN1krQztZWDhZL0MsdUJXOVkrQztZWGxEN0MsNkJBQTZCO1lBQzdCLDRCQUE0QjtZQWE5Qiw4QldxQ2tDO1lYcENsQywyQldvQ2tDO1lYbkNsQywwQldtQ2tDO1lYbENsQyxzQldrQ2tDO0lBakJwQztRWHhERSxvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsYUFBYTtRVzRFWCxjQUFjO1FBQ2QsZUFBZTtJQXpCbkI7UUE2Qkksa0JBQWtCO1FBRWxCLFlBQVk7UVhzSWQsK0JXcElvQztRWHFJcEMsNkJXcklvQztRWHNJcEMsOEJXdElvQztRWHVJcEMsa0NXdklvQztRWHdJcEMsMEJXeElvQztRQWpDdEM7WUFvQ00sWUFBWTtJQUloQjtRQXhDRjtZQTJDTSxnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGVSMUllLElRMkloQjtJQUdIO1FBakRGO1lBbURNLHFDQUF3RDtZQUN4RCwyQ0FBMkQ7UUFwRGpFO1lBeURNLGdCQUFnQjtZQUVoQixVQUFnQixJQUNqQjtJQUdIO1FBL0RGO1lBZ0VJLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFqRXJCOztnQkFzRU0saUJBQWlCO2dCQUNqQixrQkFBa0I7Z0JYR3BCLHdCV0RpQztnQlhFakMscUJXRmlDO2dCWEtuQywrQldMbUM7Z0JYTW5DLDRCV05tQztnQlhPbkMsdUJXUG1DO2dCWHNCakMseUJXckI2QjtnQlhzQjdCLHNCV3RCNkI7Z0JYeUIvQiwyQld6QitCO2dCWDBCL0Isd0JXMUIrQjtnQlgyQi9CLG1CVzNCK0I7WUExRWpDO2dCQThFTSxXQUFXO2dCQUNYLGNBQWM7WUEvRXBCO2dCQW1GTSxjQUFjO2dCQUNkLG1CQUFtQjtZQXBGekI7Z0JBd0ZNLFdBQVc7Z0JBQ1gsV0FBVztnQkFDWCxNQUFNO2dCQUNOLGtCQUFrQjtZQTNGeEI7Z0JBK0ZNLGNBQWlCO2dCQUNqQixpQkFBaUI7Z0JBQ2pCLGtCQUFrQjtZQWpHeEI7Z0JBcUdNLGdCQUFnQjtnQkFDaEIsbUJBQ0YsSUFBQzs7QUFJTDtJWHBESSx1QkFBdUI7SUFDdkIsb0JBQW9CO0lBc0J0QixtQ1c4Qm1DO0lYN0JuQyxnQ1c2Qm1DO0lYNUJuQywyQlc0Qm1DO0lYYmpDLHlCV2N5QjtJWGJ6QixzQldheUI7SVhWM0IsMkJXVTJCO0lYVDNCLHdCV1MyQjtJWFIzQixtQldRMkI7O0FBRzdCOzs7SUFHRSxpQkFBZTtJQUNmLHVCQUFxQjs7QUFHdkI7SUFDRSxjQUFjO0lBQ2QsOEJBQThCO0lBRTlCO1FBSkY7WUFLSSwwQkFBMEIsSUFFN0I7O0FBR0M7SUFERjtRQUVJLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLG9CQUFvQixJQUV2Qjs7QUFFRDs7SUFHRSxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBSnBCOztRWC9ESSx3QldzRStCO1FYckUvQixxQldxRStCO1FYbEVqQywrQldrRWlDO1FYakVqQyw0QldpRWlDO1FYaEVqQyx1QldnRWlDO0lBUG5DOztRQVdJLGtCQUFrQjtJQVh0Qjs7UUFlSSxnQkFBZ0I7UUFDaEIsbUJBQW1CO0lBaEJ2Qjs7UUFvQkksV0FBVztRQUNYLE9BQU87SUFyQlg7O1FBMEJNLGtCQUFrQjtRQUNsQiwrQkFBK0I7UUFDL0IsT0FBTztJQTVCYjs7UUFnQ00sa0JBQWtCO1FBQ2xCLE9BQU87UUFDUCxTQUFTO0lBbENmOztRQTJDTSxrQkFBa0I7UVg1T3RCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixhQUFhO1FBa0JYLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFhOUIsOEJXNE1rQztRWDNNbEMsMkJXMk1rQztRWDFNbEMsMEJXME1rQztRWHpNbEMsc0JXeU1rQztJQVNsQztRQXhERjs7WUFnRU0sdUJSalNlO1lRa1NmLHdCUmxTZTtRUWlPckI7O1lBc0VRLHVDQUFzRDtZQUN0RCx5Q0FBMkQsSUFDNUQ7SUFJTDtRQTVFRjs7WUFvRk0sZ0JBQWdCO1lBcEZ0Qjs7Z0JBd0ZRLGdCQUFxQjtnQkFDckIsaUJBQWlCO2dCQUNqQixrQkFBa0I7Z0JBQ2xCLHNCQUFzQixJQUN2Qjs7QUFLUDtJQUNFLGtCQUFrQjtJQURwQjtRQUlJLDBDQUE4RTtRQUM5RSw2Q0FBaUY7UVhtSC9FLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixhQUFhO1FBcUJmLHlCVzFJa0M7UVgySWxDLHNCVzNJa0M7UVg4SXBDLDJCVzlJb0M7UVgrSXBDLHdCVy9Jb0M7UVhnSnBDLG1CV2hKb0M7UVg4SmxDLHlCQUF5QjtRQUN6QixzQkFBc0I7UUFZeEIsc0NXM0ttRDtRWDRLbkQsbUNXNUttRDtRWDZLbkQsOEJXN0ttRDtRWDdEbkQsK0RHN1B5QztRSDhQekMsNkRHOVB5QztRSCtQekMsa0VHL1B5QztRSGdRekMsMERHaFF5QztRUW1UM0M7WVh0REUsaUVHN1B5QztZSDhQekMsK0RHOVB5QztZSCtQekMsb0VHL1B5QztZSGdRekMsNERHaFF5QztRUW1UM0M7WUFnQlEsYVIzVU07WVEyVGQ7Z0JBbUJVLFVBQVU7SUFuQnBCO1FBMEJJLGlCQUFpQjtRQUNqQix5QkFBeUI7UUFDekIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0QixxQkFBcUI7SUE5QnpCO1FYbFNFLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixhQUFhO0lXOFJmO1FBc0NJLGtCQUFrQjtRWGxUbEIsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQWE5Qiw4QldzU2dDO1FYclNoQywyQldxU2dDO1FYcFNoQywwQldvU2dDO1FYblNoQyxzQldtU2dDO0lBeENsQztRQTRDSSxnQ1J2V1U7UVEyVGQ7WUErQ00sa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxnQkFBZ0I7WUFqRHRCO2dCQXFEUSxlQUFlO2dCQUNmLGdCQUFnQjtnQkFDaEIsb0JBQW9CO2dCWHpWMUIsb0JBQW9CO2dCQUNwQixxQkFBcUI7Z0JBQ3JCLGtCQUFrQjtnQkFDbEIsb0JBQW9CO2dCQUNwQixhQUFhO2dCQTRCWCw2QkFBNkI7Z0JBQzdCLDhCQUE4QjtnQkFHaEMsMkJXd1RpQztnQlh2VGpDLHdCV3VUaUM7Z0JYdFRqQyx1QldzVGlDO2dCWHJUakMsbUJXcVRpQztJQUtqQztRQS9ERjtZQWlFTSxxQ0FBcUM7UUFqRTNDO1lBcUVNLGFBQWE7WUFDYixrQkFBa0I7UUF0RXhCO1lBMEVNLGlCQUFpQjtRQTFFdkI7WUErRU0sa0JBQWtCO1lBRWxCLGVSblplO1lRb1pmLE1BQU07WUFDTixTQUFTO1lBbkZmO2dCQTRGUSxZQUFZLElBQ2I7SUFJTDtRQWpHRjs7WUFxR00sV0FBVztZQUNYLGNBQWM7UUF0R3BCO1lBMEdNLFlBQWlCLElBQ2xCO0lBR0g7UUE5R0Y7WUFnSE0sc0JBQXNCLElBQ3ZCOztBQUlMO0lBQ0UsaUJBQWlCO0lBRG5CO1FYclJJLHdCV3lSK0I7UVh4Ui9CLHFCV3dSK0I7UVhyUmpDLCtCV3FSaUM7UVhwUmpDLDRCV29SaUM7UVhuUmpDLHVCV21SaUM7UUFDL0IsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQix5QkFBeUI7SUFQN0I7UUFXSSxrQkFBa0I7SUFHcEI7UUFkRjtZQWlCTSxtQkFBbUIsSUFDcEI7SUFHSDtRQXJCRjtZQXNCSSxvQkFBb0I7WUF0QnhCO2dCQXlCTSxtQkFBbUI7Z0JYOVNyQix3QldnVGlDO2dCWC9TakMscUJXK1NpQztnQlg1U25DLCtCVzRTbUM7Z0JYM1NuQyw0QlcyU21DO2dCWDFTbkMsdUJXMFNtQztZQTNCckM7Z0JBK0JNLG1CQUFtQixJQUNwQjs7QUFJTDtJQUNFLGtCQUFrQjtJQURwQjtRQUlJLGtCQUFrQjtJQUdwQjtRQVBGO1lBUUksc0JBQXNCLElBT3pCO0lBSkM7UUFYRjtZQVlJLG9CQUFvQjtZQUNwQixnQkFBZ0IsSUFFbkI7O0FBRUQ7SUFDRSxrQkFBa0I7SUFEcEI7UUFJSSxrQkFBa0I7UVg5VWxCLHdCV2dWK0I7UVgvVS9CLHFCVytVK0I7UVg1VWpDLCtCVzRVaUM7UVgzVWpDLDRCVzJVaUM7UVgxVWpDLHVCVzBVaUM7UVgzVC9CLHlCVzRUMkI7UVgzVDNCLHNCVzJUMkI7UVh4VDdCLDJCV3dUNkI7UVh2VDdCLHdCV3VUNkI7UVh0VDdCLG1CV3NUNkI7SUFQL0I7UUFXSSxvQkFBdUI7UUFDdkIscUJBQXdCO1FBWjVCO1lBZU0sa0JBQWtCO1lBQ2xCLFdBQVc7WUFDWCxjQUFjO1lBRWQsT0FBTztZQUNQLG1CUnhmZTtZUXlmZixXQUFXO0lBckJqQjtRQTBCSSxtQkFBbUI7SUExQnZCO1FBOEJJLGtCQUFrQjtJQTlCdEI7UUFrQ0ksbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixrQ1I1ZndCO1FRNmZ4QixjUjVnQlU7SVF1ZWQ7O1FBMENJLGNSN2dCVztJUW1lZjtRQThDSSxrQkFBa0I7SUE5Q3RCO1FBa0RJLFdBQVc7UUFDWCxjQUFjO0lBR2hCO1FBdERGO1lYNWNFLG9CQUFvQjtZQUNwQixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixhQUFhO1lBbUpYLHlCVzhXNkI7WVg3VzdCLHNCVzZXNkI7WVgxVy9CLDJCVzBXK0I7WVh6Vy9CLHdCV3lXK0I7WVh4Vy9CLG1CV3dXK0IsSUFDNUI7SUFHSDtRQTdERjtZQW1FTSxhQUFhO1FBbkVuQjtZQTJFUSxNQUFNO1lBQ04sU0FBUztZQUNULFlBQVk7UUE3RXBCO1lBa0ZNLG1CQUFtQjtRQWxGekI7WUEyRk0seUNBQTJDO1lBQzNDLDRDQUE4QztRQTVGcEQ7WUFvR1EsaUJBQWU7WUFHZixNQUFNO1lBQ04sU0FBUztZQUNULFNBQVM7UUF6R2pCOztZQW1ITSxnQkFBZ0IsSUFDakI7SUFHSDtRQXZIRjtZQXlITSxnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBMUh0QjtnQkE2SFEsc0JBQXNCLElBQ3ZCO0lBSUw7UUFsSUY7WUFvSU0sZ0JBQWdCO1lBQ2hCLGdCQUFnQixJQUNqQjtJQUdIO1FBeklGO1lBMElJLGlCQUFpQjtZQTFJckI7Z0JBNklNLGtCQUFlO2dCQUNmLGdCQUFjO2dCQUNkLHdCQUF3QjtnQkFDeEIsVUFBVTtZQWhKaEI7Z0JBb0pNLG9CQUF1QjtZQXBKN0I7Z0JBd0pNLG1CQUFzQjtZQXhKNUI7Z0JBNEpNLGFBQWU7Z0JBNUpyQjtvQkErSlEsaUJBQWU7WUEvSnZCO2dCQW9LTSxhQUFhO2dCQUNiLFNBQVM7WUFyS2Y7Z0JBeUtNLGdCQUFnQjtnQlhuZmxCLHdCV3FmaUM7Z0JYcGZqQyxxQldvZmlDO2dCWGpmbkMsK0JXaWZtQztnQlhoZm5DLDRCV2dmbUM7Z0JYL2VuQyx1QlcrZW1DO2dCQTNLckM7b0JBOEtRLGlCQUFpQjtZQTlLekI7Z0JBbUxNLGFBQWE7WUFuTG5CO2dCQXVMTSxrQkFBa0I7Z0JBQ2xCLHFCQUFxQjtnQkF4TDNCO29CQTJMUSxXQUFXLElBQ1o7O0FBS1A7SUFHRSxnQkFBZ0I7SUFDaEIsYUFBYTtJQUViLGtCQUFrQjtJQUlsQixxQkFBcUI7SUFWdkI7UUFjSSxZQUFZO1FBQ1osY0FBYztRQUNkLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsVUFBVTtRQUNWLE1BQU07UUFDTixPQUFPO1FBQ1AsUUFBUTtRQUNSLFNBQVM7SUF0QmI7UUEwQkksa0JBQWtCO0lBMUJ0QjtRQThCSSxhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLE1BQU07UUFDTixPQUFPO1FBQ1AsUUFBUTtRQUNSLFNBQVM7UVh0UlAsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGFBQWE7UUFxQmYseUJXK1BrQztRWDlQbEMsc0JXOFBrQztRWDNQcEMsMkJXMlBvQztRWDFQcEMsd0JXMFBvQztRWHpQcEMsbUJXeVBvQztRWGxPbEMsd0JXa08wQztRWGpPMUMscUJXaU8wQztRWDlONUMsK0JXOE40QztRWDdONUMsNEJXNk40QztRWDVONUMsdUJXNE40QztJQXJDOUM7UUF5Q0ksa0JBQWtCO1FYNVJoQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsYUFBYTtRQXFCZix5Qld3UWtDO1FYdlFsQyxzQld1UWtDO1FYcFFwQywyQldvUW9DO1FYblFwQyx3QldtUW9DO1FYbFFwQyxtQldrUW9DO1FYM09sQyx3QlcyTzBDO1FYMU8xQyxxQlcwTzBDO1FYdk81QywrQld1TzRDO1FYdE81Qyw0QldzTzRDO1FYck81Qyx1QldxTzRDO1FBOUM5QztZQWlETSxtQlJ4dEJTO1lReXRCVCxrQkFBa0I7WUFDbEIsV0FBVztZQUNYLE1BQU07WUFDTixPQUFPO1lBQ1AsUUFBUTtZQUNSLFNBQVM7WUFDVCxZQUFZO1lBTVosMENScHVCUTtZUXF1QlIsa0JBQWtCO0lBL0R4QjtRQW9FSSxrQkFBa0I7UUFDbEIsaUJBQWlCO0lBU25CO1FBOUVGO1lBK0VJLHlDQUE2RTtZQUM3RSxnREFBZ0Y7WUFLaEYsWUFBaUI7WUFJakIsc0JBQXVCO1lBRXZCLHFDQUFxQztZQTNGekM7Z0JBdUhNLFdBQVc7Z0JBQ1gsZ0JBQWdCO1lBeEh0QjtnQkE2SE0sV0FBVztnQkFFWCxjQUFjO2dCQUVkLGFBQWE7Z0JBQ2IsV0FBVztZQWxJakI7Z0JBdUlNLFdBQVc7Z0JBQ1gsY0FBYztZQXhJcEI7Z0JBNklNLFdBQVc7Z0JBRVgsZ0JBQWdCO1lBL0l0QjtnQkFtSk0sV0FBVztnQkFFWCxjQUFjO1lBckpwQjtnQkF5Sk0sV0FBVztnQkFDWCxnQkFBZ0I7WUExSnRCO2dCQThKTSxXQUFXO2dCQUVYLGNBQWM7Z0JBaEtwQjtvQkFtS1Esa0JBQWtCO1lBbksxQjtnQkEwS00sd0NBQTZFO2dCQUM3RSx5Q0FBOEU7Z0JBQzlFLGlCQUFpQjtZQTVLdkI7Z0JBZ0xNLDRDQUFnRjtnQkFDaEYsNkNBQWlGLElBQ2xGO0lBS0g7UUF2TEY7WUF5TEksV0FBVztZQUNYLHFDQUFxQztZQUNyQywwQ0FBeUQ7WUFDekQsNkNBQTREO1lBNUxoRTs7O2dCQWtNTSx3Q0FBMkQ7Z0JBQzNELHlDQUE0RDtZQW5NbEU7Z0JBdU1NLDRDQUFnRjtnQkFDaEYsNkNBQWlGO1lBeE12RjtnQkE0TU0sZ0JBQWdCO1lBNU10Qjs7OztnQkFxTk0scUNBQWtDO1lBck54QztnQkF5Tk0scUNBQW9DO1lBek4xQzs7Z0JBOE5NLHFDQUFvQztZQTlOMUM7O2dCQW1PTSxxQ0FBa0M7WUFuT3hDOztnQkF3T00scUNBQXFDO1lBeE8zQzs7Z0JBNk9NLFlBQVksSUFDYjs7QUFPTDs7SUFHSSxrQkFBa0I7O0FBSXRCO0lBQ0UsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUVsQjtRQVBGO1lBUUksa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQiwrQkFBK0IsSUF5RGxDO0lBbkVEO1FBY0ksbUJBQW1CO0lBR3JCO1FBQ0UsY0FBYztRQUNkLG1CQUFtQjtRQUVuQjtZQUpGO2dCQUtJLGVBQWUsSUFFbEI7SUFHRDtRQTNCRjtZQTZCTSxrQkFBa0I7WUFDbEIsZ0JBQWM7WUFDZCxhQUFjO1lBQ2QsV0FBVztZQUNYLFVBQVU7WVg3c0JkLGdDVytzQnVDO1lYOXNCdkMsOEJXOHNCdUM7WVg3c0J2QywrQlc2c0J1QztZWDVzQnZDLG1DVzRzQnVDO1lYM3NCdkMsMkJXMnNCdUM7WUFuQ3pDO2dCQXNDUSxZQUFZLElBQ2I7SUFJTDtRQTNDRjtZQTRDSSxrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQTlDdEI7Z0JBaURNLGNBQWM7Z0JBQ2QsbUJBQW1CO1lBbER6QjtnQkEwRE0sWUFBZTtnQkFDZixXQUFXO2dCQUNYLGNBQWdCO2dCQUNoQixZQUFZO2dCQUNaLFdBQVc7Z0JYMXVCZiw4Qlc0dUJxQztnQlgzdUJyQyw0QlcydUJxQztnQlgxdUJyQyw2QlcwdUJxQztnQlh6dUJyQyxpQ1d5dUJxQztnQlh4dUJyQyx5Qld3dUJxQyxJQUNsQzs7QUFJTDtJQUVJLG1CQUFtQjs7QUFGdkI7SUFNSSxVQUFVO0lYdnZCWixnQ1d5dkJxQztJWHh2QnJDLDhCV3d2QnFDO0lYdnZCckMsK0JXdXZCcUM7SVh0dkJyQyxtQ1dzdkJxQztJWHJ2QnJDLDJCV3F2QnFDO0lBUnZDO1FBV00sWUFBWTs7QUFNbEI7SUFFSSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUp0QjtRQU9NLHlCQUF5QjtRQUN6QixrQkFBa0I7O0FBS3hCO0lBTUksZUFBZTtJQUNmLGlCQUFvQjtJQUNwQixnQkFBZ0I7O0FBR2xCO0lBWEY7UUFhTSxtQkFBbUIsSUFDcEI7O0FBR0g7SUFqQkY7UUFtQk0sbUJBQW1CO1FYNzNCckIsd0JXKzNCaUM7UVg5M0JqQyxxQlc4M0JpQztRWDMzQm5DLCtCVzIzQm1DO1FYMTNCbkMsNEJXMDNCbUM7UVh6M0JuQyx1Qld5M0JtQztJQXJCckM7UUF5Qk0sbUJBQW1CO0lBekJ6QjtRQTZCTSxnQkFBZ0IsSUFDakI7O0FBSUw7SUFDRSxtQlJ4aUNZO0lRdWlDZDtRQUlJLG1CQUFtQjtJQUp2QjtRQVFJLGtCQUFrQjtRQUNsQixZQUFjO1FBQ2QsVUFBVTtRQUNWLFNBQVM7UUFYYjtZQWNNLGFBQWE7O0FBS25CO0lBQ0Usa0JBQWtCO0lBQ2xCLDBDQUEwQzs7QUFNMUM7SUFGRjs7UUFJSSwrREFBaUYsSUF5QnBGOztBQXRCQztJQVBGOztRQVNNLFdBQWU7UUFDZixnQkFBYTtRQVZuQjs7WUFhUSxZQUFZLElBQ2I7O0FBSUw7SUFsQkY7O1FBb0JNLGNBQWlCLElBQ2xCOztBQUdIO0lBeEJGOztRQTBCTSxZQUFpQixJQUNsQjs7QUFLSDtJQURGO1FBRUksaURBQStFO1FBQy9FLGtEQUFvRixJQVN2Rjs7QUFOQztJQU5GO1FBT0ksNENBQTJEO1FBRTNELGdEQUErRCxJQUdsRTs7QUFHQztJQURGO1FBRUksNENBQTJEO1FBQzNELCtDQUE4RCxJQU9qRTs7QUFKQztJQU5GO1FBT0ksNENBQTJEO1FBQzNELCtDQUErRCxJQUVsRTs7QUFHRDtJQUNFLGtCQUFrQjtJQUNsQixVQUFVOztBQUdaOztJQUVFLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsbUJSem9DWTtJUTBvQ1osa0JBQWtCO0lBTHBCOztRQVFJLGtCQUFrQjtRQVJ0Qjs7OztZQWtCTSxrQkFBa0I7WUFDbEIsc0JBQXVCO1lBQ3ZCLHVCQUF3QjtRQXBCOUI7O1lBd0JNLHlCQUF5QjtRQXhCL0I7O1lBNEJNLGtCQUFrQjtRQTVCeEI7Ozs7WUFpQ00sa0JBQWtCO1FBakN4Qjs7WUFzQ1Esa0JBQWtCO1lBQ2xCLE1BQU07WUFDTixTQUFTO1lBQ1QsY0FBYztZQUNkLGNBQWM7WUFDZCxXQUFXO1lBQ1gsbUJSMXFDYTtZUTJxQ2Isa0JBQWtCO1lBQ2xCLFdBQVc7WUFDWCxZQUFZO1lBQ1osZ0NBQWdDO1lBaER4Qzs7Z0JBbURVLGtCQUFrQjtnQkFDbEIsUUFBUTtnQkFDUixTQUFTO2dCQUNULFVBQVU7Z0JBQ1YseUJScHJDSztnQlFxckNMLFdBQVc7Z0JBQ1gsZ0NBQWdDO2dCQXpEMUM7O29CWHo0QkUsbURXcThCZ0U7b0JYcDhCaEUsaURXbzhCZ0U7b0JYbjhCaEUsa0RXbThCZ0U7b0JYbDhCaEUsc0RXazhCZ0U7b0JYajhCaEUsOENXaThCZ0U7UUE1RGxFOztZQW1FTSxnQkFBZ0I7WUFuRXRCOzs7O2dCQXVFUSxrQkFBa0I7Z0JBQ2xCLFdBQVc7Z0JBQ1gsWUFBWTtnQkFDWixjQUFjO2dCQUNkLE1BQU07Z0JBQ04sT0FBTztnQkFDUCxRQUFRO2dCQUNSLFNBQVM7Z0JBQ1QsWUFBWTtZQS9FcEI7O2dCQW9GVSxVQUFVO1lBcEZwQjs7Z0JBd0ZVLFVBQVU7WUF4RnBCOztnQkE2RlEsa0JBQWtCO2dCQUNsQixXQUFXO2dCQUNYLFlBQVk7Z0JBQ1osWUFBWTtnQkFDWixPQUFPO2dCQUNQLFVBQVU7Z0JBQ1YsaUJBQWlCO0lBbkd6Qjs7UUF5R0ksd0NBQXNFO1FBQ3RFLHlDQUF1RTtRQUN2RSxpQkFBaUI7UUFDakIsa0JBQWtCO0lBNUd0Qjs7UUFnSEksb0NBQXdFO1FBQ3hFLHFDQUF5RTtRQUN6RSxtQlJodkNpQjtRUWl2Q2pCLGtCQUFrQjtRQUNsQiwyQ0FBeUU7UVh4MEJ6RSxvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsYUFBYTtRQTZCYix5Qld5eUIrQjtRWHh5Qi9CLHNCV3d5QitCO1FYcnlCakMsMkJXcXlCaUM7UVhweUJqQyx3QldveUJpQztRWG55QmpDLG1CV215QmlDO1FYNXdCL0Isd0JXNHdCdUM7UVgzd0J2QyxxQlcyd0J1QztRWHh3QnpDLCtCV3d3QnlDO1FYdndCekMsNEJXdXdCeUM7UVh0d0J6Qyx1Qldzd0J5QztJQUd6QztRQXpIRjs7WUEySE0sZUFBZTtZQTNIckI7Ozs7Z0JBK0hRLFVBQVUsSUFDWDtJQUlMO1FBcElGOztZQXFJSSxvQkFBdUI7WUFDdkIscUJBQXdCO1lBQ3hCLGlEQUFvRDtZQUNwRCxnQlI3d0NVO1lIaUtWLHdCVzhtQytCO1lYN21DL0IscUJXNm1DK0I7WVgxbUNqQywrQlcwbUNpQztZWHptQ2pDLDRCV3ltQ2lDO1lYeG1DakMsdUJXd21DaUM7WUExSW5DOztnQkE2SU0scUJBQXFCO1lBN0kzQjs7Z0JBaUpNLGdCQUFnQixJQUNqQjtJQUdIO1FBckpGOztZQXNKSSwwQ0FBZ0Q7WUF0SnBEOztnQkF5Sk0sZ0JBQW1CO1lBekp6Qjs7Z0JBNkpNLHNCQUFzQixJQUN2QjtJQUdIO1FBaktGOztZQWtLSSxxQlJ2eUNVO1lRd3lDVixzQlJ4eUNVO1lReXlDVixzQ0FBa0M7WUFwS3RDOztnQkF1S00sV0FBVztnQkFDWCxjQUFjO1lBeEtwQjs7Z0JBNEtNLGdCQUFnQixJQUNqQjtJQUdIO1FBaExGOztZQWlMSSw4QkFBaUM7WUFqTHJDOztnQkFxTE0sY0FBaUI7WUFyTHZCOztnQkF5TE0scUJBQXFCLElBQ3RCOztBQUtMO0lBQ0UsbUJSOXpDbUI7SVErekNuQixhQUFhO0lBQ2IsZ0JBQWdCO0lBSGxCO1FBTUksYVJuMENpQjtJUTZ6Q3JCO1FBVUksbUJSejBDVztJUSt6Q2Y7UUFjSSxhQUFhO1FBQ2IsOEJBQThCO1FBQzlCLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBRWxCO1lBcEJKO2dCQXFCTSxvQkFBb0IsSUFFdkI7SUF2Qkg7UUEwQkksaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUVsQjtZQTdCSjtnQkE4Qk0sb0JBQW9CLElBb0R2QjtRQWxGSDtZQWtDTSwwQkFBMEI7WUFDMUIsYUFBYTtZQUNiLE1BQU07WUFDTiwyQkFBMkI7WUFDM0IsVUFBVTtZQXRDaEI7Z0JBeUNRLGNBQWM7Z0JBQ2Qsd0JBQXdCO2dCQUV4QjtvQkE1Q1I7d0JBNkNVLHdCQUF3QixJQW1DM0I7Z0JBaENDO29CQWhEUjt3QkFpRFUsd0JBQXdCLElBK0IzQjtnQkE1QkM7b0JBcERSO3dCQXFEVSx1Q0FBdUMsSUEyQjFDO2dCQWhGUDtvQkF5RFUsa0JBQWtCO2dCQXpENUI7b0JBNkRVLHVCQUF1QjtnQkE3RGpDO29CQWlFVSxpQkFBaUI7b0JBQ2pCLGFBQWE7b0JBbEV2Qjt3QkFxRVksaUJBQWlCO29CQUduQjt3QkF4RVY7NEJBeUVZLGFBQWEsSUFNaEI7b0JBSEM7d0JBNUVWOzRCQTZFWSxhQUFhLElBRWhCO0lBL0VUO1FBcUZJLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsV0FBVztRQUNYLFVBQVU7UUFDVixTQUFTO1FBRVQ7WUEzRko7Z0JBNEZNLGNBQWMsSUFFakI7SUE5Rkg7O1FBa0dJLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsb0JBQW9CO1FBQ3BCLFdBQVc7UUFDWCxZQUFZO1FBRVo7WUEzR0o7O2dCQTRHTSxXQUFXO2dCQUNYLFlBQVksSUFlZjtRQTVISDs7WUFpSE0sb0JBQW9CO1lBQ3BCLHdEUno2QzhCO1FRdXpDcEM7O1lBc0hNLG9CQUFvQjtZQXRIMUI7O2dCQXlIUSxZQUFZOztBQVFsQjtJQUZGOztRQUdJLG9EQUFpRDtRQUhyRDs7WUFNTSxzQkFBc0IsSUFDdkI7O0FBR0g7SUFWRjs7UUFXSSx1Q0FBdUMsSUFXMUM7O0FBUkM7SUFkRjs7UUFlSSxzQ0FBc0MsSUFPekM7O0FBSkM7SUFsQkY7O1FBb0JJLGtCQUFrQixJQUVyQjs7QUFFRDtJQUNFLFdBQVc7O0FBR2I7SUFDRSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxjQUFjO0lBQ2QsUUFBUTtJQUNSLFNBQVM7SUFDVCxZQUFZO0lBQ1osWUFBWTtJQUNaLG1CUmorQ21COztBUW8rQ3JCO0lBQ0UsVUFBVTtJQURaO1FBSUksVUFBVTtRQUNWLGtCQUFrQjtJQUx0QjtRQVNJLGtCQUFrQjtRWG4xQ2xCLHdCV3ExQytCO1FYcDFDL0IscUJXbzFDK0I7UVhqMUNqQywrQldpMUNpQztRWGgxQ2pDLDRCV2cxQ2lDO1FYLzBDakMsdUJXKzBDaUM7SUFYbkM7UUFlSSxnQkFBZ0I7UUFDaEIsbUJBQW1CO0lBaEJ2QjtRQW9CSSxrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLGlCQUFpQjtRQXRCckI7WUF5Qk0saUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsTUFBTTtZQUNOLE9BQU87WUFDUCxRQUFRO1lBQ1IsU0FBUztZQUNULFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtJQUloQjtRQXRDRjtZQXdDTSxpQkFBaUI7WUFDakIsb0JBQW9CO1FBekMxQjtZQTZDTSxjQUFjO1lBQ2QsaUJBQWlCLElBQ2xCO0lBR0g7UUFsREY7WUFvRE0sdUJBQXVCO1lBQ3ZCLGlCQUFpQixJQUNsQjs7QUFJTDtJQUNFLG1CUmhpRFk7O0FRbWlEZDtJQUNFLHVCQUF1Qjs7QUFHekI7SUFDRSxtQlJ4aURZO0lReWlEWixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBRWxCO1FBUkY7WUFTSSxrQkFBa0I7WUFDbEIsb0JBQW9CLElBNEN2QjtJQXpDQztRQUNFLGtCQUFrQjtRQUNsQixTQUFTO1FBQ1QsT0FBTztRQUNQLFdBQVc7SUFHYjtRQUNFLFlBQVk7UUFDWixrQkFBa0I7UUFFbEI7WUFKRjtnQkFLSSxtQkFBbUIsSUFFdEI7SUFFRDtRQUNFLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLGdCQUFnQjtRQUVoQjtZQU5GO2dCQU9JLGFBQWE7Z0JBQ2IscUNBQXFDO2dCQUNyQyxTQUFTLElBRVo7SUFFRDtRQUNFLGNBQWM7UUFFZDtZQUNFLFlBQVk7WUFDWixtQ0FBbUM7WUFDbkMsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIseUJBQXlCOztBQUsvQjtJQUNFLGtDQUFrQztJQUVsQztRQUNFLG9CQUFvQjtJQUd0QjtRQUNFLDhCQUE4QjtRQUM5QixjQUFjO1FBRWQ7WUFKRjtnQkFLSSw2QkFBNkIsSUFFaEM7SUFFRDtRQUNFLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IseUNBQXlDO1FBRXpDO1lBQ0UsbUJBQW1CO0lBSXZCO1FBQ0UsbUNBQW1DO1FBQ25DLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osYUFBYTtRQUViO1lBTkY7Z0JBT0ksWUFBWTtnQkFDWixhQUFhLElBRWhCO0lBRUQ7UUFDRSxlQUFlO1FBRWY7WUFIRjtnQkFJSSxlQUFlLElBRWxCO0lBRUQ7UUFDRSw2QlI5b0RVO1FRK29EVixhQUFhO1FBQ2IscUNBQXFDO1FBQ3JDLFFBQVE7UUFDUixzQ0FBc0M7UUFFdEM7WUFQRjtnQkFRSSxxQ0FBcUMsSUFNeEM7UUFIQztZQUNFLFlBQVk7SUFJaEI7UUFDRSxrQkFBa0I7UUFDbEIsZUFBZTtJQUdqQjtRQUNFLGdDUnJwRHNCO1FRc3BEdEIsb0NBQW9DO1FBQ3BDLG1CQUFtQjtRQUNuQixvQ0FBb0M7SUFPdEM7UUFDRSxhQUFhO1FBQ2IsOEJBQThCO1FBQzlCLGtCQUFrQjtRQUVsQjtZQUxGO2dCQU1JLGtCQUFrQixJQXVEckI7UUFwREM7WUFURjtnQkFVSSxnQkFBZ0IsSUFtRG5CO1FBaERDO1lBYkY7Z0JBY0ksc0JBQXNCO2dCQUN0QixTQUFTLElBOENaO1FBMUNHO1lBQ0Usa0NBQWtDO1lBQ2xDLG1CQUFtQjtZQUVuQjtnQkFKRjtvQkFLSSxjQUFjLElBRWpCO1FBR0g7WUFDRSxjUjNzRFE7WVE0c0RSLG1DUmhzRHVCO1lRaXNEdkIsc0NBQXNDO1lBQ3RDLHFCQUFxQjtZQUNyQixnQkFBZ0I7WUFDaEIseUJBQXlCO1lBQ3pCLG1CQUFtQjtRQUdyQjtZQUNFLHlDQUF5QztZQUN6QyxjQUFjO1FBR2hCO1lBQ0UsaUJBQWlCO1lBQ2pCLGtCQUFrQjtRQUdwQjtZQUNFLG9DQUFvQztZQUNwQyxxQkFBcUI7UUFuRHhCO1lBdURHLGlCQUFpQjtZQUVqQjtnQkF6REg7b0JBMERLLGdCQUFnQixJQUVuQjtJQUdIO1FBQ0UsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixTQUFTO1FBQ1QsMkRBQTJEO1FBQzNELGtCQUFrQjtRQUVsQjtZQVBGO2dCQVFJLHFDQUFxQztnQkFDckMsU0FBUyxJQUVaO0lBRUQ7UUFDRSxhQUFhO1FBQ2IscUJBQXFCO1FBQ3JCLHVCQUF1QjtJQUd6QjtRQUNFLGVBQWU7SUFJZjtRQUNFLGNScndEUTtRUXN3RFIsbUNSMXZEdUI7UVEydkR2QixzQ0FBc0M7UUFDdEMscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIseUJBQXlCO1FBQ3pCLG1CQUFtQjtJQVR0QjtRQWFHLGVBQWU7UUFFZjtZQWZIO2dCQWdCSyxnQkFBZ0IsSUFFbkI7SUF0TEw7UUEwTEksYUFBYTtRQUNiLFFBQVE7UUFDUixxQ0FBcUM7UUFFckM7WUE5TEo7Z0JBK0xNLGNBQWM7Z0JBQ2QscUNBQXFDLElBK0R4QztRQS9QSDtZQXFNUSxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBdE14QjtnQkF5TVUseUJBQXlCO1FBek1uQztZQThNUSxnQ0FBZ0M7WUFDaEMscUJBQXFCO1lBQ3JCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFFekI7Z0JBbk5SO29CQW9OVSxpQkFBaUIsSUFFcEI7UUF0TlA7WUF5TlEsc0NBQXNDO1lBQ3RDLHFCQUFxQjtZQUNyQix5QkFBeUI7WUFFekI7Z0JBN05SO29CQThOVSxpQkFBaUIsSUFFcEI7UUFoT1A7WUFvT00scUNBQXFDO1lBcE8zQztnQkF1T1EsYUFBYTtnQkF2T3JCO29CQTBPVSxnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsa0JBQWtCO29CQUNsQixhQUFhO29CQUViO3dCQS9PVjs0QkFnUFksYUFBYTs0QkFDYixVQUFVLElBRWI7UUFuUFQ7WUF3UE0scUNBQXFDO1lBQ3JDLGVBQWU7WUF6UHJCO2dCQTRQUSxnQkFBZ0I7SUFLdEI7UUFDRSxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLHNCQUFzQjtRQUV0QjtZQUxGO2dCQU1JLGdCQUFnQjtnQkFDaEIsa0JBQWtCLElBa0VyQjtRQS9EQztZQUNFLG1CQUFtQjtRQUdyQjtZQUNFLG1CQUFtQjtRQUdyQjtZQUNFLGdDQUE2QjtRQUcvQjtZQUNFLGNSdjNEUTtZUXczRFIsbUNSNTJEdUI7WVE2MkR2QixzQ0FBc0M7WUFDdEMscUJBQXFCO1lBQ3JCLGdCQUFnQjtZQUNoQixvQ0FBb0M7WUFDcEMseUJBQXlCO1lBQ3pCLG1CQUFtQjtRQUdyQjtZQUNFLGFBQWE7WUFDYixjQUFjO1lBQ2QscUNBQXFDO1lBRXJDO2dCQUxGO29CQU1JLHFDQUFxQztvQkFDckMsU0FBUyxJQWdDWjtZQTdCQztnQkFDRSxtQkFBbUI7Z0JBQ25CLGlEUjc0RE07Z0JRODRETixhQUFhO2dCQUNiLDhCQUE4QjtnQkFDOUIscUJBQXFCO2dCQUVyQjtvQkFQRjt3QkFRSSxvQkFBb0IsSUFvQnZCO2dCQWpCQztvQkFDRSxvQ0FBb0M7b0JBQ3BDLGdCQUFnQjtnQkFHbEI7b0JBQ0UsZ0JBQWdCO29CQUVoQjt3QkFIRjs0QkFJSSxrQkFBa0IsSUFPckI7b0JBWEE7d0JBUUcsa0JBQWtCO3dCQUNsQixrQkFBa0I7O0FBUTlCOztJQUtJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsV0FBVztJQUNYLG1CQUFtQjs7QUFJdkI7SUFDRSxtQlJ4N0RtQjtJUXk3RG5CLFVBQVU7SUFDVixVQUFVO0lBSFo7UUFNSSxvQkFBb0I7SUFOeEI7UUFVSSxnQkFBZ0I7O0FBSXBCO0lBQ0UsbUJSdDhEbUI7O0FReThEckI7O0lBRUUsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixtQlJoOURZO0lINmFWLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixhQUFhO0lBNkJiLHlCV29nRDZCO0lYbmdEN0Isc0JXbWdENkI7SVhoZ0QvQiwyQldnZ0QrQjtJWC8vQy9CLHdCVysvQytCO0lYOS9DL0IsbUJXOC9DK0I7SVh2K0M3Qix3Qld1K0NxQztJWHQrQ3JDLHFCV3MrQ3FDO0lYbitDdkMsK0JXbStDdUM7SVhsK0N2Qyw0QldrK0N1QztJWGorQ3ZDLHVCV2krQ3VDO0lYajZEckMsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQWE5Qiw4QldvNUQ4QjtJWG41RDlCLDJCV201RDhCO0lYbDVEOUIsMEJXazVEOEI7SVhqNUQ5QixzQldpNUQ4QjtJQVBoQzs7UUFVSSxVQUFVO1FBQ1YsY1J0OURXO0lRMjhEZjs7UUFlSSxnQkFBZ0I7SUFmcEI7Ozs7OztRQXNCTSxvQkFBb0I7UUF0QjFCOzs7Ozs7WUF5QlEsbUJBQW1CO0lBS3pCO1FBOUJGOztZQStCSSxnQkFBZ0I7WUFDaEIsa0JBQWtCLElBRXJCOztBQUdDO0lBREY7UUFFSSxvQkFBb0IsSUFFdkI7O0FBTUM7SUFKRjs7OztRQUtJLGlCQUFpQixJQUVwQjs7QUFFRDtJQUNFLGdCQUFnQjtJQUVoQixvREFBb0Y7SVhybERsRixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQW1CYix3QkFBd0I7SUFDeEIscUJBQXFCO0lBYXZCLCtCV3NqRG1DO0lYcmpEbkMsNEJXcWpEbUM7SVhwakRuQyx1QldvakRtQztJWHRpRGpDLHlCQUF5QjtJQUN6QixzQkFBc0I7SUFZeEIsc0NXeWhEa0Q7SVh4aERsRCxtQ1d3aERrRDtJWHZoRGxELDhCV3VoRGtEO0lBVHBEO1FYbGxESSxvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsYUFBYTtRQTZCYix5Qlc2akQrQjtRWDVqRC9CLHNCVzRqRCtCO1FYempEakMsMkJXeWpEaUM7UVh4akRqQyx3Qld3akRpQztRWHZqRGpDLG1CV3VqRGlDO1FYbmpEL0IsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQXNCdEIsbUNXNGhENkM7UVgzaEQ3QyxnQ1cyaEQ2QztRWDFoRDdDLDJCVzBoRDZDO1FYMTlEM0MsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQWE5Qiw4Qlc2OERnQztRWDU4RGhDLDJCVzQ4RGdDO1FYMzhEaEMsMEJXMjhEZ0M7UVgxOERoQyxzQlcwOERnQztJQWJsQztRQWlCSSxVQUFVO0lBakJkOztRQXNCSSxrQkFBa0I7SUF0QnRCO1FBMEJJLGtCQUFrQjtRQUNsQixXQUFXO1FBQ1gsbUJSMWhFVztJUTgvRGY7UUFnQ0kseUJBQXlCO1FBQ3pCLGVBQWU7SUFqQ25CO1FBcUNJLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixNQUFNO1FBQ04sT0FBTztRQUNQLFFBQVE7UUFDUixTQUFTO1FBQ1QsVUFBVTtRQUNWLFVBQVU7UVhsaEVaLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixhQUFhO0lXZytEZjtRWHh2REUsbUVXNHlEd0U7UVgzeUR4RSxpRVcyeUR3RTtRWDF5RHhFLHNFVzB5RHdFO1FYenlEeEUsOERXeXlEd0U7SUFwRDFFO1FBd0RJLGdCQUFnQjtJQUdsQjtRQTNERjtZQThEUSxVQUFVO1FBOURsQjtZWHZ3REUsMkJXeTBEb0M7WVh4MERwQyx5Qld3MERvQztZWHYwRHBDLDBCV3UwRG9DO1lYdDBEcEMsOEJXczBEb0M7WVhyMERwQyxzQldxMERvQyxJQUMvQjtJQUlMO1FBdkVGO1lBd0VJLG9CQUF1QjtZQUN2QixxQkFBd0I7WUF6RTVCO2dCQTRFTSxlQUFnQjtZQTVFdEI7Z0JBaUZNLGtCQUFxQjtZQWpGM0I7Z0JBcUZNLGVBQW9CO1lBckYxQjtnQkF5Rk0sd0NBQXdDLElBQ3pDO0lBR0g7UUE3RkY7WUErRk0sY0FBaUI7WUFDakIsbUJBQW1CO1lBaEd6QjtnQkFtR1EsZ0JBQWdCO1FBbkd4QjtZQXdHTSxxQlIzbUVRO1FRbWdFZDtZQTRHTSxtQkFBbUIsSUFDcEI7O0FBSUw7SUFDRSx1Q0FBdUM7SUFDdkMsMENBQTBDO0lBRjVDO1FBS0ksbUJBQW1COztBQUl2Qjs7SUFFRSxrQkFBa0I7O0FBR3BCO0lBQ0Usa0JBQWtCO0lBRHBCO1FBSUksa0JBQWtCO1FBQ2xCLFdBQVc7UUFDWCxjQUFjO1FBQ2QsT0FBTztRQUNQLFFBQVE7UUFDUixTQUFTO1FBQ1QsWUFBWTtRQUdaLCtDQUErQztRQUMvQyxXQUFXO1FBQ1gsbUJSMW9FaUI7SVEybkVyQjtRQW1CSSxrQkFBa0I7UUFDbEIsVUFBVTs7QUFJZDtJQUNFLFVBQVU7O0FBR1o7SUFDRSxnQkFBZ0I7SVg5dURkLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixhQUFhO0lBNkJiLHlCVytzRDZCO0lYOXNEN0Isc0JXOHNENkI7SVgzc0QvQiwyQlcyc0QrQjtJWDFzRC9CLHdCVzBzRCtCO0lYenNEL0IsbUJXeXNEK0I7SVhsckQ3Qix3QldrckRxQztJWGpyRHJDLHFCV2lyRHFDO0lYOXFEdkMsK0JXOHFEdUM7SVg3cUR2Qyw0Qlc2cUR1QztJWDVxRHZDLHVCVzRxRHVDO0lBSHpDO1FBTUksa0JBQWtCO1FYbnZEbEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGFBQWE7UUE2QmIseUJXb3REK0I7UVhudEQvQixzQldtdEQrQjtRWGh0RGpDLDJCV2d0RGlDO1FYL3NEakMsd0JXK3NEaUM7UVg5c0RqQyxtQlc4c0RpQztRWHZyRC9CLHdCV3VyRHVDO1FYdHJEdkMscUJXc3JEdUM7UVhuckR6QywrQldtckR5QztRWGxyRHpDLDRCV2tyRHlDO1FYanJEekMsdUJXaXJEeUM7UUFSM0M7WUFXTSxrQkFBa0I7WUFDbEIsV0FBVztZQUNYLGNBQWM7WUFDZCxNQUFNO1lBQ04sT0FBTztZQUNQLFFBQVE7WUFDUixTQUFTO1lBQ1QsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixtQlIzcUVlO0lRdXBFckI7UUF5QkksaUJBQWlCO1FBQ2pCLGtCQUFrQjtJQTFCdEI7UUE4Qkksa0JBQWtCO0lBR3BCO1FBakNGO1lBa0NJLGdEQUFrRjtZQWxDdEY7Z0JBcUNNLHFCQUFrQjtnQkFDbEIsc0JBQW1CO2dCQUNuQixtQlJyc0VRO2dCUThwRWQ7b0JBMENRLGlCQUFjO29CQUNkLGtCQUFlLElBQ2hCO0lBSUw7UUFoREY7WUFpREksK0NBQWlGO1lBakRyRjtnQkFvRE0scUJBQW1CO2dCQUNuQixzQkFBb0I7Z0JBQ3BCLGdCQUFnQjtnQkF0RHRCO29CQXlEUSxpQkFBZTtvQkFDZixrQkFBZ0I7WUExRHhCOztnQkFnRU0sZ0JBQWdCO2dCQUNoQixpQkFBaUI7Z0JBQ2pCLGtCQUFrQjtZQWxFeEI7O2dCQXVFTSxpQkFBZ0I7WUF2RXRCO2dCQTJFTSxhQUFjO1lBM0VwQjtnQkErRU0sY0FBZ0I7WUEvRXRCO2dCQW1GTSxpQkFBZ0I7WUFuRnRCO2dCQXVGTSxpQkFBZ0I7WUF2RnRCO2dCQTJGTSxpQkFBYyxJQUNmOztBQUtIO0lBREY7UUFFSSxvQkFBb0IsSUFPdkI7O0FBSkM7SUFMRjtRQU1JLCtDQUE2RTtRQUM3RSxtQkFBbUIsSUFFdEI7O0FBRUQ7SUFFSSxpQkFBaUI7O0FBRnJCO0lBTUksYUFBYTs7QUFJakI7O0lBRUUsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFKbEI7O1FBT0ksU0FBUztRQUNULFlBQVk7SUFSaEI7O1FBYU0sa0JBQWtCO0lBYnhCOztRQXFCTSxrQkFBa0I7SUFyQnhCOztRQTRCSSxrQkFBa0I7SUE1QnRCOztRQWdDSSxrQkFBa0I7UUFDbEIsaUNBQWlDO1FBQ2pDLE9BQU87UUFDUCxXQUFXO0lBbkNmOztRQXVDSSxrQkFBa0I7UUFDbEIsaUNBQWlDO1FBQ2pDLFFBQVE7UUFDUixXQUFXO0lBR2I7O1FBQ0UsZ0JBQWdCO1FBQ2hCLGNBQWM7SUEvQ2xCOztRQW1ESSxVQUFVO1FBR1YsYUFBZ0I7UVg3a0VsQiw2Qlcra0VrQztRWDlrRWxDLDJCVzhrRWtDO1FYN2tFbEMsNEJXNmtFa0M7UVg1a0VsQyxnQ1c0a0VrQztRWDNrRWxDLHdCVzJrRWtDO1FBeERwQzs7WUEyRE0sWUFBWTtJQTNEbEI7O1FBZ0VJLGtCQUFrQjtRQUNsQixVQUFVO0lBakVkOzs7O1FBc0VJLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsc0NSMTBFNEI7UVEyMEU1QixnQkFBZ0I7UUFDaEIsa0JBQWtCO0lBMUV0Qjs7UUE4RUksV0FBVztRQUNYLGlCQUFpQjtJQS9FckI7O1FBbUZJLG9DQUF3RTtRQUN4RSxXQUFXO1FBQ1gsY0FBYztRQUNkLHNCQUFzQjtRQUN0QixrQkFBa0I7UUF2RnRCOztZQTBGTSxtQlJ2MkVRO1FRMDJFVjtZQTdGSjs7Z0JBK0ZRLGNBQWMsSUFDZjtJQUlMO1FBcEdGOztZQXNHSSxpQkFBaUI7WUF0R3JCOztnQkF5R00sbUJBQW1CO1lBekd6Qjs7Z0JBNkdNLGdCQUFnQjtnQkFDaEIsbUJBQW1CLElBQ3BCO0lBV0g7UUExSEY7O1lBMkhJLGNBQWM7WUEzSGxCOztnQkE4SE0sZUFBaUI7WUE5SHZCOztnQkFrSU0sY0FBaUI7WUFsSXZCOzs7O2dCQXVJTSxhQUFhO2dCQUNiLGtCQUFrQixJQUNuQjtJQUdIO1FBNUlGOztZQTZJSSw0Q0FBMkQsSUF5STlEO0lBdElDO1FBaEpGOztZQWlKSSxxQkFBcUI7WUFqSnpCOztnQkFvSk0sb0JBQW9CO1lBcEoxQjs7Z0JBd0pNLG1CQUFtQjtZQXhKekI7O2dCQTRKTSxtQkFBbUI7WUE1SnpCOztnQkFnS00sYUFBZ0I7Z0JBQ2hCLFlBQWlCO2dCQUNqQixVQUFVO2dCWHpyRWQsdURXMnJFOEQ7Z0JYMXJFOUQscURXMHJFOEQ7Z0JYenJFOUQsc0RXeXJFOEQ7Z0JYeHJFOUQsMERXd3JFOEQ7Z0JYdnJFOUQsa0RXdXJFOEQsSUFDM0Q7SUFHSDtRQXhLRjs7WUF5S0ksaURBQStFLElBNkdsRjtJQXRSRDs7UUE4S00sZ0JBQWdCO0lBOUt0Qjs7UUFrTE0sZUFBZTtJQWxMckI7O1FBdUxJLGdCQUFnQjtJQXZMcEI7O1FBNExNLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFDdkIsb0JBQW9CO1FBRXBCO1lBbk1OOztnQkFvTVEsZUFBZTtnQkFDZixtQkFBbUI7Z0JBQ25CLGdCQUFnQixJQUVuQjtJQXhNTDs7UUEyTU0sZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixjQUFjO1FBQ2QsYUFBYTtRQUViO1lBaE5OOztnQkFpTlEsZUFBZSxJQUVsQjtJQW5OTDs7UUF1TkksbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUVoQjtZQTFOSjs7Z0JBMk5NLG1CQUFtQjtnQkFDbkIsZ0JBQWdCLElBT25CO1FBbk9IOztZQWdPTSxnQkFBZ0I7WUFDaEIsbUJBQW1CO0lBak96Qjs7UUFzT0ksYUFBYTtRQUNiLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUF4TzNCOztZQTJPTSxhQUFhO1lBM09uQjs7Z0JBOE9RLFVBQVU7Z0JBQ1YsaUJBQWlCO2dCQUNqQixXQUFXO2dCQUNYLFlBQVk7UUFqUHBCOztZQXNQTSxtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGVBQWU7WUFDZixrQkFBa0I7WUFFbEI7Z0JBM1BOOztvQkE0UFEsZUFBZSxJQU1sQjtZQWxRTDs7Z0JBZ1FRLGlCQUFpQjtJQWhRekI7O1FBdVFNLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsZUFBZTtRQUNmLDJCQUEyQjtRQUMzQixpQkFBaUI7UUFDakIsa0JBQWtCO0lBNVF4Qjs7UUFnUk0sa0JBQWtCO1FBQ2xCLFVBQVU7UUFDVixXQUFXO1FBQ1gsWUFBWTs7QUFLbEI7SUFDRSxnQkFBZ0I7O0FBR2xCO0lBQ0Usa0RBQW9GO0lBRHRGO1FBSUksV0FBVztJQUpmO1FBUUksbUJSaGpGaUI7UVFpakZqQixrQkFBa0I7UUFUdEI7WUFZTSxXQUFXO1lBQ1gsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixjQUFjO1FBZnBCO1lBbUJNLHlCQUF5QjtZQUN6QixrQkFBa0I7UUFwQnhCO1lBd0JNLG1CQUFtQjtJQUl2QjtRQTVCRjtZQTZCSSx3Q0FBd0M7WUFDeEMsbUJBQW1CO1lBOUJ2QjtnQkFpQ00sY0FBaUI7Z0JBQ2pCLG9CQUF1QixJQUN4QjtJQUdIO1FBdENGO1lBd0NNLHFDQUFxQztRQXhDM0M7WUE0Q00sa0JBQWtCO1lBQ2xCLE9BQU87WUFDUCxTQUFTO1lBQ1QsMEJBQWlDO1FBL0N2QztZQW1ETSxxQkFBcUIsSUFDdEI7SUFHSDtRQXZERjtZQXlETSxZQUFpQjtRQXpEdkI7WUE2RE0saUJBQWlCO1FBN0R2QjtZQWlFTSxXQUFXO1lBQ1gsY0FBYztZQUNkLHFCUmxuRlE7UVEraUZkO1lBdUVNLHFCQUFxQixJQUN0Qjs7QUFJTDtJQUNFLGlCQUFpQjtJQUNqQiwwQ0FBMEM7SUFFMUM7UUFKRjtZQUtJLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFOcEI7Z0JBU00saUJBQWUsSUFDaEI7O0FBU0w7SUFDRSxpQkFBaUI7SUFDakIsTUFBTTtJWHA1RU4sNkJXczVFZ0M7SVhyNUVoQywyQldxNUVnQztJWHA1RWhDLDRCV281RWdDO0lYbjVFaEMsZ0NXbTVFZ0M7SVhsNUVoQyx3QldrNUVnQzs7QUFHbEM7SUFDRSxvQkFBb0I7SUFEdEI7UUFJSSxrQkFBa0I7SUFKdEI7UUFRSSxnQkFBa0I7UUFDbEIsZUFBZ0I7UUFDaEIsWUFBWTtRQUNaLFlBQVk7SUFYaEI7UUFnQkksb0JBQW9CO0lBaEJ4QjtRWC85RUkseUJXbS9FMkI7UVhsL0UzQixzQldrL0UyQjtRWC8rRTdCLDJCVysrRTZCO1FYOStFN0Isd0JXOCtFNkI7UVg3K0U3QixtQlc2K0U2QjtRQXBCL0I7WUF1Qk0sZ0JBQWdCO0lBdkJ0QjtRQTRCSSxnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FYandFaEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGFBQWE7UUE2QmIseUJXa3VFK0I7UVhqdUUvQixzQldpdUUrQjtRWDl0RWpDLDJCVzh0RWlDO1FYN3RFakMsd0JXNnRFaUM7UVg1dEVqQyxtQlc0dEVpQztRWHJzRS9CLHdCV3FzRXVDO1FYcHNFdkMscUJXb3NFdUM7UVhqc0V6QywrQldpc0V5QztRWGhzRXpDLDRCV2dzRXlDO1FYL3JFekMsdUJXK3JFeUM7UVgvbkZ2Qyw2QkFBNkI7UUFDN0IsNEJBQTRCO1FBYTlCLDhCV2tuRmdDO1FYam5GaEMsMkJXaW5GZ0M7UVhobkZoQywwQldnbkZnQztRWC9tRmhDLHNCVyttRmdDO1FBaENsQztZQW1DTSxxQkFBcUI7WUFDckIsV0FBVztZQUNYLFlBQVk7WUFDWixrQkFBa0I7UUF0Q3hCOztZQTJDTSxxQkFBcUI7UUEzQzNCO1lBK0NNLHNDQUFzQztZQUN0QyxpQkFBaUI7WUFDakIsaUJBQWlCO1lBRWpCO2dCQW5ETjtvQkFvRFEsZUFBZSxJQUVsQjtRQXRETDtZQTBETSxXQUFXO1lBQ1gsbUJBQW1CO1lYdnhFbkIsb0JBQW9CO1lBQ3BCLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsb0JBQW9CO1lBQ3BCLGFBQWE7WUFxQmYseUJXZ3dFb0M7WVgvdkVwQyxzQlcrdkVvQztZWDV2RXRDLDJCVzR2RXNDO1lYM3ZFdEMsd0JXMnZFc0M7WVgxdkV0QyxtQlcwdkVzQztZWHR2RXBDLHVCQUF1QjtZQUN2QixvQkFBb0I7WUFzQnRCLG1DVyt0RWtEO1lYOXRFbEQsZ0NXOHRFa0Q7WVg3dEVsRCwyQlc2dEVrRDtJQUlsRDtRQWpFRjtZQW1FTSxjQUFjO1FBbkVwQjtZQXVFTSxtQkFBbUI7UUF2RXpCO1lBMkVNLGlCQUFpQjtRQTNFdkI7WUErRU0sbUJBQW1CO1lYL3FGckIsNkJBQTZCO1lBQzdCLDRCQUE0QjtZQWE5Qiw4QldtcUZrQztZWGxxRmxDLDJCV2txRmtDO1lYanFGbEMsMEJXaXFGa0M7WVhocUZsQyxzQldncUZrQztZQWpGcEM7Z0JBb0ZRLG1CQUFtQjtnQkFDbkIsZUFBZSxJQUNoQjtJQUlMO1FBMUZGO1lBMkZJLGtCQUFrQjtZQTNGdEI7Z0JBOEZNLFdBQVc7Z0JBQ1gsY0FBYyxJQUNmO0lBR0g7UUFuR0Y7WUFxR00sY0FBaUIsSUFDbEI7O0FBSUw7SUFDRSxZQUFZO0lBRGQ7UUFLSSxZQUFZO1FBQ1osZ0JBQWdCO0lBTnBCO1FBVUksZ0JBQWdCO0lBR2xCO1FBYkY7WUFjSSxjQUFjO1lBZGxCO2dCQWlCTSxjQUFjO1lBakJwQjtnQkFxQk0saUJBQWlCLElBQ2xCOztBQUlMO0lBQ0Usa0JBQWtCO0lBRHBCO1FBS0ksZ0JBQWdCO1FBQ2hCLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUVsQjtZQVhKO2dCQVlNLGlCQUFpQjtnQkFDakIsb0JBQW9CLElBZXZCO1FBNUJIO1lBaUJNLG1CQUFtQjtRQWpCekI7WUFxQk0sbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUVqQjtnQkF4Qk47b0JBeUJRLGVBQWUsSUFFbEI7O0FBSUw7SUFDRSxrQkFBa0I7SUFEcEI7UUFJSSxlUmwwRmlCO1FRbTBGakIsa0JBQWtCO1FYamtGcEIsNkJXbWtGa0M7UVhsa0ZsQywyQldra0ZrQztRWGprRmxDLDRCV2lrRmtDO1FYaGtGbEMsZ0NXZ2tGa0M7UVgvakZsQyx3QlcrakZrQzs7QUFJcEM7O0lBR0kscUJBQXFCOztBQUl6QjtJQUVJLE1BQU07O0FBRlY7SUFNSSxrQkFBa0I7SUFOdEI7UUFTTSxvQlJuMUZRO1FRMDBGZDtZQVlRLGdCQUFnQjtZQUNoQixtQkFBbUI7O0FBYjNCO0lBbUJJLFlBQVk7O0FBbkJoQjtJQXVCSSxrQkFBa0I7SUFDbEIsbUJSNTFGVTtJSDJhVixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQTZCYix5QldrNUUrQjtJWGo1RS9CLHNCV2k1RStCO0lYOTRFakMsMkJXODRFaUM7SVg3NEVqQyx3Qlc2NEVpQztJWDU0RWpDLG1CVzQ0RWlDO0lYcjNFL0Isd0JXcTNFdUM7SVhwM0V2QyxxQldvM0V1QztJWGozRXpDLCtCV2kzRXlDO0lYaDNFekMsNEJXZzNFeUM7SVgvMkV6Qyx1QlcrMkV5Qzs7QUFHekM7SUE3QkY7UUErQk0sc0NBQXNDO1FBQ3RDLGtDQUFrQztJQWhDeEM7UUFvQ00seUNBQStFO0lBcENyRjtRQXdDTSxnQkFBa0IsSUFDbkI7O0FBR0g7SUE1Q0Y7UUE4Q00sd0NBQThFO0lBOUNwRjtRQWtETSxzQ0FBc0M7SUFsRDVDO1FBc0RNLDJCQUEyQjtJQXREakM7UUEwRE0sa0NBQWtDLElBQ25DOztBQUdIO0lBOURGO1FBZ0VNLGNBQWlCO1FBQ2pCLG9CQUFzQjtJQWpFNUI7UUFxRU0sY0FBaUI7SUFyRXZCO1FBeUVNLGVBQWlCO1FBQ2pCLHFDQUFxQztJQTFFM0M7UUE4RU0sZUFBZ0I7SUE5RXRCO1FBa0ZNLGtCQUFrQixJQUNuQjs7QUFHSDtJQXRGRjtRQXdGTSx3Q0FBOEU7SUF4RnBGO1FBNEZNLDRDQUEyRDtJQTVGakU7UUFnR00sMkJBQTJCO0lBaEdqQztRQW9HTSxhQUFhLElBQ2Q7O0FBSUw7SUFDRTtRQUNFLGVSMzdGaUI7UVE0N0ZqQixZQUFlO0lBR2pCOzs7UUFHRSxnQkFBZ0I7UUFDaEIsc0JBQXNCO0lBR3hCO1FBQ0UsZUFBaUI7UUFDakIsZ0JBQW1CO0lBR3JCO1FBQ0UsVUFBZ0IsSUFDakI7O0FBR0g7SUFFSSwrQkFBK0I7O0FBRm5DO0lBTUksZ0JBQWdCO0lBRWhCO1FBUko7WUFTTSxpQkFBaUIsSUE0QnBCO0lBckNIO1FBYU0sMEJBQTBCO1FBQzFCLDJCQUEyQjtJQWRqQztRQWtCTSxlQUFlO0lBbEJyQjtRQXNCTSxpQkFBaUI7UUFFakI7WUF4Qk47Z0JBeUJRLGVBQWUsSUFFbEI7SUEzQkw7UUE4Qk0sbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUVqQjtZQWpDTjtnQkFrQ1EsZUFBZSxJQUVsQjs7QUFJTDtJQUNFO1FBQ0UsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixpQkFBYztRQUNkLHNCQUFvQjtRQUp0QjtZQU9JLGlCQUFjLElBQ2Y7O0FBSUw7SUFFRTs7UUFFRSxVQUFVO1FBRlo7O1lBS0ksWUFBWTtJQUloQjtRQUNFLGlCQUFnQjtRQUNoQixNQUFNO1FBQ04sZ0JBQWdCO1FBQ2hCLFVBQVU7SUFHWjtRQUNFLGNBQWlCO1FBQ2pCLGdCQUFjO1FBQ2QsV0FBVztRWHh4RmIsNkJXMHhGa0M7UVh6eEZsQywyQld5eEZrQztRWHh4RmxDLDRCV3d4RmtDO1FYdnhGbEMsZ0NXdXhGa0M7UVh0eEZsQyx3QldzeEZrQyxJQUNqQzs7QUFHSDtJQUNFO1FYeDRGRSxxQkFBcUI7UUFDckIsa0JBQWtCO1FBaUJwQixpQ1d1M0ZtQztRWHQzRm5DLDhCV3MzRm1DO1FYcjNGbkMseUJXcTNGbUM7UVhsOUZuQyx5QldtOUYyQjtRWGw5RjNCLHNCV2s5RjJCO1FYLzhGekIsbUJBQW1CO1FBT3JCLGlCV3c4RjJCO0lBRzNCO1FBQ0UsY0FBYztRQUNkLG9CQUFvQjtRQUZ0QjtZQUtJLGlCQUFpQjtZQUxyQjtnQkFRTSxpQkFBaUI7SUFLdkI7UUFDRSxvQkFBb0I7SUFHdEI7UUFDRSxXQUFlO1FBQ2YsTUFBTTtRQUNOLGdCQUFnQjtRQUNoQixVQUFVO0lBR1o7UUFDRSwwQ0FBMEM7SUFHNUM7UUFDRSxnQkFBZ0IsSUFDakI7O0FBR0g7SUFDRTtRQUNFLHFCUm5rR1U7UVFva0dWLHNCUnBrR1UsSVFxa0dYOztBQUlIO0lBQ0Usa0JBQWtCO0lBRWxCO1FBQ0UsY0FBYztRQUNkLGVBQWU7UUFDZixrQkFBa0I7UUFFbEI7WUFMRjtnQkFNSSxlQUFlLElBRWxCO0lBRUQ7UUFDRSxxQkFBcUI7UUFDckIsa0JBQWtCO1FBRWxCO1lBSkY7Z0JBS0ksbUJBQW1CLElBRXRCO0lBRUQ7UUFDRSxZQUFZO0lBR2Q7UUFDRSxlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLFVBQVU7UUFIWDtZQU1HLGFBQWE7UUFHZjtZQUNFLE9BQU87WUFDUCxTQUFTO1lBQ1QsVUFBVTtZQUNWLFdBQVc7UUFHYjtZQUNFLFFBQVE7WUFDUixTQUFTO1lBQ1QsVUFBVTtZQUNWLFdBQVc7UUFHYjtZQUNFLFFBQVE7WUFDUixTQUFTO1lBQ1QsVUFBVTtZQUNWLFdBQVc7UUFHYjtZQUNFLFFBQVE7WUFDUixTQUFTO1lBQ1QsVUFBVTtZQUNWLFdBQVc7UUFHYjtZQUNFLFdBQVc7WUFDWCxTQUFTO1lBQ1QsU0FBUztZQUNULFdBQVc7UUFHYjtZQUNFLE9BQU87WUFDUCxZQUFZO1lBQ1osVUFBVTtZQUNWLFdBQVc7UUFHYjtZQUNFLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsbUJBQW1CO1FBR3JCO1lBQ0UsbUNBQW1DO1lBQ25DLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLHlCQUF5QjtJQUk3QjtRQUNFLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIseUJBQXlCO1FBQ3pCLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2Isc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixlQUFlO1FBQ2YsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQixNQUFNO1FBQ04sT0FBTztRQUNQLGtCQUFrQjtRQUNsQixZQUFZO1FBQ1osYUFBYTtRQUNiLFVBQVU7UVh6N0ZaLHdCVzI3RjZCO1FYMTdGN0Isc0JXMDdGNkI7UVh6N0Y3Qix1Qld5N0Y2QjtRWHg3RjdCLDJCV3c3RjZCO1FYdjdGN0IsbUJXdTdGNkI7SUE5Ry9CO1FBa0hJLGtCQUFrQjtRQUNsQixRQUFRO1FBQ1IsUUFBUTtRQUNSLCtCQUErQjtRQUUvQjtZQXZISjtnQkF3SE0sVUFBVTtnQkFDViwrQkFBK0IsSUFFbEM7O0FBR0g7SUFDRSxlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBRWxCO1FBUEY7WUFRSSxlQUFlO1lBQ2Ysd0JBQXdCLElBRTNCOztBQUVEO0lBQ0Usc0JBQXNCOztBQUd4QjtJQUNFLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFFaEI7UUFKRjtZQUtJLGVBQWU7WUFDZixXQUFXLElBRWQ7O0FBRUQ7O0lBRUMsY0FBYztJQUNiLHFCQUFxQjtJQUN0QixrQkFBa0I7O0FBR25COztJQUVDLHVCQUF1QjtJQUN2QixXQUFXO0lBQ1gsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsT0FBTztJQUNQLHlCQUF5QjtJQUN6QixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCxXQUFXOztBQUdaOztJQUVDLHdCQUF3QjtJQUN4QixvQkFBb0I7O0FBR3JCO0lBQ0M7UUFDQyxhQUFhO1FBQ2IscUNBQXFDLElBQ3JDOztBQUdGO0lBQ0Usd0JBQXdCO0lBRXhCO1FBSEY7WUFJSSx3QkFBd0IsSUFFM0I7O0FBR0M7SUFDRSxhQUFhO0lBQ2IsOEJBQThCO0lBRTlCO1FBSkY7WUFLSSxhQUFhO1lBQ2IsOEJBQThCLElBRWpDOztBQUVEO0lBQ0UsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLFdBQVc7SUFFWDtRQVZGO1lBV0ksdUJBQXVCLElBRTFCOztBQUVEO0lBQ0UsbUJBQW1CO0lBQ25CLGtDQUFrQztJQUNsQyxzQkFBc0I7SUFDdEIsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUV6QjtRQVBGO1lBUUksZUFBZSxJQUVsQjs7QUFFRDtJQUNFLFlBQVk7SUFDWixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFFbEI7UUFQRjtZQVFJLGVBQWUsSUFFbEI7O0FBRUQ7SUFDRSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQiw2QkFBNkI7SUFFN0I7UUFORjtZQU9JLGVBQWUsSUFFbEI7O0FBRUQ7SUFDRSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLHFCQUFxQjtJQUNyQixnQkFBZ0I7O0FBR2xCO0lBQ0UsV0FBVztJQUNYLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsa0JBQWtCOztBQUdwQjtJQUNFLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCOztBQUdwQjtJQUNFLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLDJCQUEyQjtJQUMzQixrREFBa0Q7SUFDbEQsb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQVZ2QjtRQWFHLFVBQVU7UUFDVix3QkFBd0I7UUFDeEIsb0JBQW9CO0lBZnZCO1FBbUJHLFdBQVc7UUFDWCxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLHVCQUF1Qjs7QUFJM0I7SUFDRSxtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsUUFBUTtJQUNSLDJCQUEyQjtJQUMzQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsU0FBUztJQUNULGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxXQUFXO0lBRVg7UUFsQkY7WUFtQkksaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxXQUFXLElBbUNkO0lBeERBO1FBeUJHLFNBQVM7UUFDVCxVQUFVO1FBMUJiO1lBNkJLLGNBQWM7WUFDZCxVQUFVO1lBQ1YsV0FBVztZQUNYLFVBQVU7WUFDVixlQUFlO1lBQ2YseUJBQXlCO1lBbEM5QjtnQkFxQ08sY0FBYztnQkFDZCxXQUFXO2dCQUNYLFlBQVk7Z0JBQ1osa0JBQWtCO2dCQUNsQixtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osZ0NBQWdDO1FBM0N2QztZQWdESyxXQUFXO1lBQ1gsWUFBWTtZQWpEakI7Z0JBb0RPLFVBQVU7O0FBT3BCO0lBRUksbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLDZCQUE2QjtJQUU3QjtRQVJKO1lBU00sZUFBZSxJQUVsQjs7QUFYSDtJQWNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFFaEI7UUFqQko7WUFrQk0sZUFBZSxJQUVsQjs7QUFwQkg7SUF1QkksY0FBYztJQUNkLFdBQVc7SUFDWCxZQUFZO0lBekJoQjtRQTRCTSxrQkFBa0I7O0FBNUJ4QjtJQWlDSSxjQUFjO0lBQ2QsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixxQkFBcUI7O0FBcEN6QjtJQTJDUSx1QkFBdUI7SUFDdkIsd0JBQXdCO0lBNUNoQztRQStDVSxXQUFXO1FBQ1gsWUFBWTtRQWhEdEI7WUFtRFksV0FBVztZQUNYLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsdUJBQXVCOztBQWNuQztJQUNFLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLHFCQUFxQjtJQUNyQixrQkFBa0I7SUFFbEI7UUFQRjtZQVFJLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLG9CQUFvQixJQWtEdkI7SUEvQ0M7UUFDRSxlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUVuQjtZQUxGO2dCQU1JLGVBQWUsSUFNbEI7UUFIQztZQVRGO2dCQVVJLGVBQWUsSUFFbEI7SUFFRDtRQUNFLG1CQUFtQjtRQUNuQixrQ0FBa0M7UUFDbEMsc0JBQXNCO1FBQ3RCLDZCQUE2QjtRQUM3Qix5QkFBeUI7UUFFekI7WUFQRjtnQkFRSSxlQUFlLElBRWxCO0lBRUQ7UUFDRSxjQUFjO1FBQ2QsYUFBYTtRQUNiLDhCQUE4QjtRQUM5QixTQUFTO1FBRVQ7WUFORjtnQkFPSSxTQUFTO2dCQUNULDBCQUEwQixJQUU3QjtJQUVEO1FBQ0UsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixTQUFTO1FBRVQ7WUFMRjtnQkFNSSxlQUFlLElBRWxCOztBQ3pqSEg7SUFFUSxvQ0FBd0U7SUFDeEUsdUNBQXlFOztBQUhqRjtJQU9RLHFDQUFxQzs7QUFJN0M7SUFFUSxtQlRDTzs7QVNIZjtJQU1RLG1CVExNOztBU0RkO0lBVVEsa0JBQWtCO0lBVjFCO1FBYVksYUFBYTtRQUNiLHlFQUFnRTs7QUFkNUU7SUFtQlEsV0FBVztJQUNYLFlBQVk7SUFDWixNQUFNO0lBQ04sT0FBTztJQUNQLFNBQVM7SUFDVCxRQUFRO0lBQ1IsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixXQUFXOztBQTNCbkI7SUErQlEsMENBQTBDOztBQS9CbEQ7SUFtQ1EsWUFBWTtJQUNaLFdBQVc7SUFDWCxNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0lBQ1QsV0FBVztJQXpDbkI7UUE0Q1ksYUFBYTs7QUFLekI7SUFDSSxrQkFBa0I7SUFDbEIsMENBQTBDO0lBQzFDLFdBQVc7SUFIZjtRQU1RLG1CVHJEYTs7QVN5RHJCO0lBQ0ksd0NBQXNFO0lBQ3RFLHlDQUF1RTs7QUFHM0U7SUFDSSw4QkFBd0U7SUFDeEUsK0JBQXlFO0lBRjdFO1FBU1Esb0NBQXdFO1FBQ3hFLHFDQUF5RTtJQVZqRjtRQWlCWSxhVDlFRzs7QVNrRmY7O0lBRUksa0JBQWtCO0lBRWxCLGVBQWU7SUFDZix3QkFBd0I7SVowVnRCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixhQUFhO0lBcUJmLHlCWWpYa0M7SVprWGxDLHNCWWxYa0M7SVpxWHBDLDJCWXJYb0M7SVpzWHBDLHdCWXRYb0M7SVp1WHBDLG1CWXZYb0M7SVo4WWxDLHdCWTlZMEM7SVorWTFDLHFCWS9ZMEM7SVprWjVDLCtCWWxaNEM7SVptWjVDLDRCWW5aNEM7SVpvWjVDLHVCWXBaNEM7SUFQOUM7O1FBVVEsbUJUN0ZhOztBU2lHckI7SUFDSSxvQ0FBd0U7SUFDeEUscUNBQXlFO0lBQ3pFLHlCQUF5QjtJQUN6QixVQUFVO0laZ0paLHdCWTlJNkI7SVorSTdCLHNCWS9JNkI7SVpnSjdCLHVCWWhKNkI7SVppSjdCLDJCWWpKNkI7SVprSjdCLG1CWWxKNkI7O0FDcEgvQjs7SUFFSSxxQlZJVTtJVUhWLHNCVkdVO0lVRlYsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYix3Q0FBMEM7SUFDMUMsbUJWRFU7SVVFVixnQlZGVTtJSGlLVix3QmE3SitCO0liOEovQixxQmE5SitCO0liaUtqQywrQmFqS2lDO0lia0tqQyw0QmFsS2lDO0libUtqQyx1QmFuS2lDO0lBVm5DOztRQWFRLGtCQUFrQjtJQWIxQjs7UUFpQlEsa0JBQWtCO1FBQ2xCLDRDQUE0QztRQUM1QyxnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLFVBQVU7UUFDVixtQlZaTTtRVVZkOztZQXlCWSxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxNQUFNO1lBQ04sT0FBTztZQUNQLFFBQVE7WUFDUixTQUFTO1lBQ1QsWUFBWTtZYmlQdEIsaUVHN1B5QztZSDhQekMsK0RHOVB5QztZSCtQekMsb0VHL1B5QztZSGdRekMsNERHaFF5QztJVXBCM0M7O1FBdUNRLGtCQUFrQjtRYmdadEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGFBQWE7UUE2QmIseUJhL2FtQztRYmdibkMsc0JhaGJtQztRYm1ickMsMkJhbmJxQztRYm9ickMsd0JhcGJxQztRYnFickMsbUJhcmJxQztRYjRjbkMsd0JhNWMyQztRYjZjM0MscUJhN2MyQztRYmdkN0MsK0JhaGQ2QztRYmlkN0MsNEJhamQ2QztRYmtkN0MsdUJhbGQ2QztRQXpDL0M7O1lBNENZLGtCQUFrQjtZQUNsQixXQUFXO1lBQ1gsY0FBYztZQUNkLE1BQU07WUFDTixPQUFPO1lBQ1AsUUFBUTtZQUNSLFNBQVM7WUFDVCxZQUFZO1lBQ1osbUJWMUNFO1lVMkNGLFdBQVc7WUFDWCxVQUFVO0lBdER0Qjs7UUEyRFEsa0JBQWtCO1FBQ2xCLFlBQVk7UUFDWixVQUFVO1FBQ1YsWUFBWTtJQTlEcEI7O1FBa0VRLGVBQWdCO1FBQ2hCLGVBQWdCO1FBRWhCLGlCQUFpQjtRYjZMdkIsNkJhNUxzQztRYjZMdEMsMkJhN0xzQztRYjhMdEMsNEJhOUxzQztRYitMdEMsZ0NhL0xzQztRYmdNdEMsd0JhaE1zQztJQXRFeEM7O1FBMkVRLGlCQUFtQjtRQUNuQixhQUFpQjtRQUVqQixtQkFBcUI7UWJvTDNCLGtDYWxMMkM7UWJtTDNDLGdDYW5MMkM7UWJvTDNDLGlDYXBMMkM7UWJxTDNDLHFDYXJMMkM7UWJzTDNDLDZCYXRMMkM7SUFoRjdDOztRQW9GUSxpQkFBb0I7UUFDcEIsZUFBaUI7UUFDakIsZUFBaUI7SUFJckI7UUExRko7O1lBNEZZLDRDQUE0QyxJQUMvQztJQUdMO1FBaEdKOztZQWtHWSxlQUFlO1lBbEczQjs7Z0JBcUdnQixVQUFVO1FBckcxQjs7WUFnSGdCLFVBQVU7UUFoSDFCOzs7O1lBcUhnQixhQUFhLElBQ2hCO0lBSVQ7UUExSEo7O1lBNEhZLG1CQUFtQixJQUN0QjtJQUdMO1FBaElKOztZQW1JWSx5Q0FBeUM7UUFuSXJEOztZQXdJWSx5Q0FBeUM7UUF4SXJEOztZQTRJWSx3QkFBd0I7UUE1SXBDOztZQWdKWSxzQ0FBc0M7WUFDdEMseUNBQXlDO1FBakpyRDs7WUFxSlksdUNBQXVDO1FBckpuRDs7WUF5SlksMENBQTBDO1FBekp0RDs7WUE2SlksaUJBQWlCLElBQ3BCO0lBR0w7UUFqS0o7Ozs7WUFxS1ksV0FBVztZQUNYLGNBQWM7WUFDZCxjQUFjO1lBQ2Qsb0JBQW9CLElBQ3ZCO0lBR0w7UUE1S0o7O1lBNktRLHNDQUE0QyxJQVVuRDtJQVBHO1FBaExKOztZQWlMUSw2QkFBK0I7WUFqTHZDOztnQkFvTFksNENBQTRDLElBQy9DOztBQUlUO0lBQ0ksV0FBVztJQUNYLFlBQVk7O0FBR2hCOztJQUVJLG1CVnRMVTtJVW9MZDs7UUFLUSxZQUFZOztBQUlwQjtJQUNJLG1CVjlMVTtJVStMVixVQUFVO0lBRmQ7UUFLUSxVQUFVO0lBTGxCO1FBU1EsWUFBWTtJQVRwQjtRQWFRLGlCQUFpQjtRYm1PckIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGFBQWE7UUE2QmIseUJhbFFtQztRYm1RbkMsc0JhblFtQztRYnNRckMsMkJhdFFxQztRYnVRckMsd0JhdlFxQztRYndRckMsbUJheFFxQztRYitSbkMsd0JhL1IyQztRYmdTM0MscUJhaFMyQztRYm1TN0MsK0JhblM2QztRYm9TN0MsNEJhcFM2QztRYnFTN0MsdUJhclM2QztRYjNKM0MsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQWE5Qiw4QmE4SW9DO1FiN0lwQywyQmE2SW9DO1FiNUlwQywwQmE0SW9DO1FiM0lwQyxzQmEySW9DO0lBR2xDO1FBbkJKO1lBc0JZLHlDQUErRTtZQUUvRSw0Q0FBOEQsSUFDakU7SUFHTDtRQTVCSjtZQWtDUSwwQ0FBMEM7WUFDMUMsK0NBQStDO1lBbkN2RDtnQkF1Q1ksa0JBQWtCO2dCQUNsQixZQUFZO2dCQUNaLGdCQUFnQjtnQkFDaEIsa0JBQWtCO2dCQUVsQixzQ0FBc0M7Z0Jib005QyxvQkFBb0I7Z0JBQ3BCLHFCQUFxQjtnQkFDckIsa0JBQWtCO2dCQUNsQixvQkFBb0I7Z0JBQ3BCLGFBQWE7Z0JBNkJiLHlCYW5PdUM7Z0Jib092QyxzQmFwT3VDO2dCYnVPekMsMkJhdk95QztnQmJ3T3pDLHdCYXhPeUM7Z0JieU96QyxtQmF6T3lDO2dCYjRQdkMseUJBQXlCO2dCQVEzQixxQ2FwUXVEO2dCYnFRdkQsa0NhclF1RDtnQmJzUXZELDZCYXRRdUQ7Z0JiMUxyRCw2QkFBNkI7Z0JBQzdCLDRCQUE0QjtnQkFhOUIsOEJhNkt3QztnQmI1S3hDLDJCYTRLd0M7Z0JiM0t4QywwQmEyS3dDO2dCYjFLeEMsc0JhMEt3QztZQS9DMUM7Z0JBbURZLFlBQVk7Z0JBQ1osWUFBWSxJQUNmO0lBR0w7UUF4REo7WUE4RFksc0NBQXNDLElBQ3pDO0lBR0w7UUFsRUo7WUEyRVksd0JBQXdCLElBQzNCOztBQUlUO0lBQ0ksZ0JBQWdCO0liK0poQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQTZCYix5QmE5TCtCO0liK0wvQixzQmEvTCtCO0lia01qQywyQmFsTWlDO0libU1qQyx3QmFuTWlDO0lib01qQyxtQmFwTWlDO0liMk4vQix3QmEzTnVDO0liNE52QyxxQmE1TnVDO0liK056QywrQmEvTnlDO0liZ096Qyw0QmFoT3lDO0liaU96Qyx1QmFqT3lDO0lBSDNDO1FBTVEsa0JBQWtCO1FBQ2xCLHlCVm5STztRSDRhWCxvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsYUFBYTtRQTZCYix5QmF4TG1DO1FieUxuQyxzQmF6TG1DO1FiNExyQywyQmE1THFDO1FiNkxyQyx3QmE3THFDO1FiOExyQyxtQmE5THFDO1FicU5uQyx3QmFyTjJDO1Fic04zQyxxQmF0TjJDO1FieU43QywrQmF6TjZDO1FiME43Qyw0QmExTjZDO1FiMk43Qyx1QmEzTjZDO1Fick8zQyw2QkFBNkI7UUFDN0IsNEJBQTRCO1FBYTlCLDhCYXdOb0M7UWJ2TnBDLDJCYXVOb0M7UWJ0TnBDLDBCYXNOb0M7UWJyTnBDLHNCYXFOb0M7SUFWdEM7O1FBZVEsY1Yz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ckQ1Qiw2QkFBNkI7Z0JBQzdCLDRCQUE0QjtnQkFhOUIsOEJhd3FENEM7Z0JidnFENUMsMkJhdXFENEM7Z0JidHFENUMsMEJhc3FENEM7Z0JicnFENUMsc0JhcXFENEM7Z0JBWjFDOzs7b0JBbUJnQixrQkFBa0IsSUFDckI7O0FBTWpCO0lBRUk7OztRQU1nQiw4Q0FBOEMsSUFDakQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9iZWVtb2svLi9zcmMvc2Nzcy9zdHJ1Y3R1cmUvX21peGlucy5zY3NzIiwid2VicGFjazovL2JlZW1vay8uL3NyYy9zY3NzL3N0cnVjdHVyZS9fZ3JpZC5zY3NzIiwid2VicGFjazovL2JlZW1vay8uL3NyYy9zY3NzL21haW4uc2NzcyIsIndlYnBhY2s6Ly9iZWVtb2svLi9zcmMvc2Nzcy9zdHJ1Y3R1cmUvX3ZhcnMuc2NzcyIsIndlYnBhY2s6Ly9iZWVtb2svLi9zcmMvc2Nzcy9zdHJ1Y3R1cmUvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9iZWVtb2svLi9zcmMvc2Nzcy9zdHJ1Y3R1cmUvX2hlYWRlci5zY3NzIiwid2VicGFjazovL2JlZW1vay8uL3NyYy9zY3NzL3N0cnVjdHVyZS9fZ2xvYmFsLnNjc3MiLCJ3ZWJwYWNrOi8vYmVlbW9rLy4vc3JjL3Njc3Mvc3RydWN0dXJlL19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9iZWVtb2svLi9zcmMvc2Nzcy9zdHJ1Y3R1cmUvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vYmVlbW9rLy4vc3JjL3Njc3MvZWxlbWVudHMvX2FwcHMuc2NzcyIsIndlYnBhY2s6Ly9iZWVtb2svLi9zcmMvc2Nzcy9lbGVtZW50cy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovL2JlZW1vay8uL3NyYy9zY3NzL2VsZW1lbnRzL19wYWdlcy5zY3NzIiwid2VicGFjazovL2JlZW1vay8uL3NyYy9zY3NzL2VsZW1lbnRzL19pY29ucy5zY3NzIiwid2VicGFjazovL2JlZW1vay8uL3NyYy9zY3NzL2VsZW1lbnRzL19wb3N0cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgKnpvb206IDE7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24uLi4pIHtcbiAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAtbW96LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gIC1vLWJvcmRlci1hbmltYXRpb246ICRhbmltYXRpb247XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5Li4uKSB7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuQG1peGluIGlubGluZS1mbGV4Ym94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG5AbWl4aW4gZmxleGJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4Ym94LWltcG9ydGFudCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiAtbW96LWZsZXggIWltcG9ydGFudDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcbiAgQGlmICR2YWx1ZT09cm93LXJldmVyc2Uge1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWU9PWNvbHVtbiB7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZT09Y29sdW1uLXJldmVyc2Uge1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgfVxuXG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgLW1vei1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAtbW96LWZsZXgtd3JhcDogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWU9PW5vd3JhcCB7XG4gICAgLW1zLWZsZXgtd3JhcDogbm9uZTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAtbXMtZmxleC13cmFwOiAkdmFsdWU7XG4gIH1cblxuICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZmxvdygkdmFsdWVzOiAocm93IG5vd3JhcCkpIHtcbiAgLXdlYmtpdC1mbGV4LWZsb3c6ICR2YWx1ZXM7XG4gIC1tb3otZmxleC1mbG93OiAkdmFsdWVzO1xuICAtbXMtZmxleC1mbG93OiAkdmFsdWVzO1xuICBmbGV4LWZsb3c6ICR2YWx1ZXM7XG59XG5cbkBtaXhpbiBvcmRlcigkaW50OiAwKSB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ICRpbnQgKyAxO1xuICAtd2Via2l0LW9yZGVyOiAkaW50O1xuICAtbW96LW9yZGVyOiAkaW50O1xuICAtbXMtZmxleC1vcmRlcjogJGludDtcbiAgb3JkZXI6ICRpbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWdyb3coJGludDogMCkge1xuICAtd2Via2l0LWJveC1mbGV4OiAkaW50O1xuICAtd2Via2l0LWZsZXgtZ3JvdzogJGludDtcbiAgLW1vei1mbGV4LWdyb3c6ICRpbnQ7XG4gIC1tcy1mbGV4LXBvc2l0aXZlOiAkaW50O1xuICBmbGV4LWdyb3c6ICRpbnQ7XG59XG5cbkBtaXhpbiBmbGV4LXNocmluaygkaW50OiAxKSB7XG4gIC13ZWJraXQtZmxleC1zaHJpbms6ICRpbnQ7XG4gIC1tb3otZmxleC1zaHJpbms6ICRpbnQ7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkaW50O1xuICBmbGV4LXNocmluazogJGludDtcbn1cblxuQG1peGluIGZsZXgtYmFzaXMoJHZhbHVlOiBhdXRvKSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogJHZhbHVlO1xuICAtbW96LWZsZXgtYmFzaXM6ICR2YWx1ZTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR2YWx1ZTtcbiAgZmxleC1iYXNpczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleCgkZmc6IDEsICRmczogbnVsbCwgJGZiOiBudWxsKSB7XG4gICRmZy1ib3hmbGV4OiAkZmc7XG5cbiAgQGlmIHR5cGUtb2YoJGZnKT09J2xpc3QnIHtcbiAgICAkZmctYm94ZmxleDogbnRoKCRmZywgMSk7XG4gIH1cblxuICAtd2Via2l0LWJveC1mbGV4OiAkZmctYm94ZmxleDtcbiAgLXdlYmtpdC1mbGV4OiAkZmcgJGZzICRmYjtcbiAgLW1vei1ib3gtZmxleDogJGZnLWJveGZsZXg7XG4gIC1tb3otZmxleDogJGZnICRmcyAkZmI7XG4gIC1tcy1mbGV4OiAkZmcgJGZzICRmYjtcbiAgZmxleDogJGZnICRmcyAkZmI7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJHZhbHVlOiBmbGV4LXN0YXJ0KSB7XG4gIEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlPT1mbGV4LWVuZCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZT09c3BhY2UtYmV0d2VlbiB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlPT1zcGFjZS1hcm91bmQge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogJHZhbHVlO1xuICAgIC1tcy1mbGV4LXBhY2s6ICR2YWx1ZTtcbiAgfVxuXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gIC1tb3otanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gYWxpZ24taXRlbXMoJHZhbHVlOiBzdHJldGNoKSB7XG4gIEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWU9PWZsZXgtZW5kIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246ICR2YWx1ZTtcbiAgICAtbXMtZmxleC1hbGlnbjogJHZhbHVlO1xuICB9XG5cbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAtbW96LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgLW1vei1hbGlnbi1zZWxmOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZT09ZmxleC1zdGFydCB7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWU9PWZsZXgtZW5kIHtcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlO1xuICB9XG5cbiAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gIC1tb3otYWxpZ24tY29udGVudDogJHZhbHVlO1xuXG4gIEBpZiAkdmFsdWU9PWZsZXgtc3RhcnQge1xuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWU9PWZsZXgtZW5kIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZTtcbiAgfVxuXG4gIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJi5wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4gKCRvcmlnaW4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAtbW96LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCRkZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgLW8tdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5LTEoJHByb3BlcnR5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHktMigkcHJvcGVydHkxLCAkcG9ycGVydHkyKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5MSwgJHBvcnBlcnR5MjtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5MSwgJHBvcnBlcnR5MjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5MSwgJHBvcnBlcnR5Mjtcbn1cblxuQG1peGluIEFuaW1hdGlvbigkYW5pbWF0aW9uOiAkYW5pbWF0aW9uKSB7XG4gIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgLW1vei1hbmltYXRpb246ICRhbmltYXRpb247XG4gIC13ZWJraXQtYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAtby1ib3JkZXItYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuXG5AbWl4aW4gQW5pbWF0aW9uRGVsYXlNaXhpbigkZGVsYXk6ICRhbmltYXRpb25EZWxheVZhbHVlKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIGFuaW1hdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG5AbWl4aW4gQW5pbWF0aW9uRGVsYXkoJGRlbGF5OiAkQW5pbWF0aW9uRGVsYXlWYWx1ZSkge1xuICBAaW5jbHVkZSBBbmltYXRpb25EZWxheU1peGluKCRkZWxheSk7XG59XG5cbkBtaXhpbiBUcmFuc2l0aW9uRGVsYXlNaXhpbigkZGVsYXk6ICR0cmFuc2l0aW9uRGVsYXlWYWx1ZSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIC1vLXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgLW1zLXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG5AbWl4aW4gVHJhbnNpdGlvbkRlbGF5KCRkZWxheTogJHRyYW5zaXRpb25EZWxheVZhbHVlKSB7XG4gIEBpbmNsdWRlIFRyYW5zaXRpb25EZWxheU1peGluKCRkZWxheSk7XG59XG5cbkBtaXhpbiBLZXlGcmFtZXMoJG5hbWUpIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICBALW1zLWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50LXR3bygkZGlyZWN0aW9uLCAkY29sb3Jfb25lLCAkY29sb3JfdHdvKSB7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Jfb25lLCAkY29sb3JfdHdvKTtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yX29uZSwgJGNvbG9yX3R3byk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvcl9vbmUsICRjb2xvcl90d28pO1xufVxuXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50LWZvdXIoJGRpcmVjdGlvbiwgJGNvbG9yX29uZSwgJGNvbG9yX3R3bywgJGNvbG9yX3RocmVlLCAkY29sb3JfZm91cikge1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yX29uZSwgJGNvbG9yX3R3bywgJGNvbG9yX3RocmVlLCAkY29sb3JfZm91cik7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvcl9vbmUsICRjb2xvcl90d28sICRjb2xvcl90aHJlZSwgJGNvbG9yX2ZvdXIpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Jfb25lLCAkY29sb3JfdHdvLCAkY29sb3JfdGhyZWUsICRjb2xvcl9mb3VyKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5cbkBtaXhpbiBpbmxpbmUtZmxleCgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xuICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4vLyBCdWlsZCBNaXhpbnNcbkBtaXhpbiBQaXhlbEZpeCB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tb3otdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cbkBtaXhpbiBDZW50ZXJBbGlnbiB7XG4gIEBpbmNsdWRlIFRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xufVxuQG1peGluIFRyYW5zaXRpb25NaXhpbigkdHJhbnNpdGlvbjogJHRyYW5zaXRpb25WYWx1ZSl7XG50cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAtbW96LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5AbWl4aW4gVHJhbnNpdGlvbigkdHJhbnNpdGlvbjogJHRyYW5zaXRpb25WYWx1ZSl7XG4gIEBpbmNsdWRlIFRyYW5zaXRpb25NaXhpbigkdHJhbnNpdGlvbik7XG59XG5AbWl4aW4gVHJhbnNpdGlvbkRlbGF5TWl4aW4oJGRlbGF5OiAkdHJhbnNpdGlvbkRlbGF5VmFsdWUpe1xuLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gIC1tb3otdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgIC1tcy10cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBUcmFuc2l0aW9uRGVsYXkoJGRlbGF5OiAkdHJhbnNpdGlvbkRlbGF5VmFsdWUpe1xuICBAaW5jbHVkZSBUcmFuc2l0aW9uRGVsYXlNaXhpbigkZGVsYXkpO1xufVxuQG1peGluIFRyYW5zZm9ybSgkdHJhbnNmb3JtOiAkdHJhbnNmb3JtKXtcbnRyYW5zZm9ybTogJHRyYW5zZm9ybTtcbiAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG4gICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcbn1cbkBtaXhpbiBUcmFuc2Zvcm1PcmlnaW4oJG9yaWdpbjogJG9yaWdpbikge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5AbWl4aW4gQW5pbWF0aW9uKCRhbmltYXRpb246ICRhbmltYXRpb24pe1xuYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAtbW96LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgIC1vLWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBBbmltYXRpb25EZWxheU1peGluKCRkZWxheTogJGFuaW1hdGlvbkRlbGF5VmFsdWUpe1xuLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAtby1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgIC1tcy1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gQW5pbWF0aW9uRGVsYXkoJGRlbGF5OiAkQW5pbWF0aW9uRGVsYXlWYWx1ZSl7XG4gIEBpbmNsdWRlIEFuaW1hdGlvbkRlbGF5TWl4aW4oJGRlbGF5KTtcbn1cbkBtaXhpbiBCb3hTaXppbmcge1xuIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8vIEJsYW5rIGZvciBjZW50ZXIgLSBvciB1c2UgZmxleC1zdGFydCAvIGZsZXgtZW5kXG5AbWl4aW4gZmxleC10cmlvKCRmbGV4OiBmbGV4Ym94LCAkYWxpZ246IGNlbnRlciwgJGp1c3RpZnk6IGNlbnRlcikge1xuICBAaWYgJGZsZXg9PWZsZXgge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIEBpZiAkZmxleD09ZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIEBlbHNlIGlmICRmbGV4PT1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG5cbiAgLy8gYWxpZ25cbiAgQGlmICRhbGlnbj09ZmxleC1zdGFydCB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgfVxuXG4gIEBlbHNlIGlmICRhbGlnbj09ZmxleC1lbmQge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogJGFsaWduO1xuICAgIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247XG4gIH1cblxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gIC1tb3otYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgYWxpZ24taXRlbXM6ICRhbGlnbjtcblxuICAvLyBKdXN0aWZ5XG4gIEBpZiAkanVzdGlmeT09ZmxleC1zdGFydCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gIH1cblxuICBAZWxzZSBpZiAkanVzdGlmeT09ZmxleC1lbmQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gIH1cblxuICBAZWxzZSBpZiAkanVzdGlmeT09c3BhY2UtYmV0d2VlbiB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJGp1c3RpZnk9PXNwYWNlLWFyb3VuZCB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiAkanVzdGlmeTtcbiAgICAtbXMtZmxleC1wYWNrOiAkanVzdGlmeTtcbiAgfVxuXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiBibGFjaywgJGVhc2U6IDQwMG1zIGFsbCBsaW5lYXIsICRmb250c2l6ZTogMTZweCwgJGxpbmVIZWlnaHQ6IDE0cHgpIHtcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnRzaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0O1xuXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRlYXNlKTtcbiAgICB9XG5cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udHNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZUhlaWdodDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGVhc2UpO1xuICAgIH1cblxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udHNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZUhlaWdodDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGVhc2UpO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRmb250c2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0O1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZWFzZSk7XG4gICAgfVxuXG4gICAgJjpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5tb2JpbGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmRlc2t0b3Atb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59IiwiKiB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLy8gLnAtYnMge1xuLy8gICBwYWRkaW5nLWxlZnQ6ICRncmlkQ29sO1xuLy8gICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZENvbDtcbi8vIH1cblxuaHRtbC5oYXMtc2Nyb2xsLXNtb290aCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4vLyBHcmlkIENvbHVtbnNcbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMjQge1xuICAuZy0jeyRpfSB7XG4gICAgd2lkdGg6ICRncmVtICogJGk7XG4gICAgLy8gd2lkdGg6ICRnYyAqICRpO1xuICAgIC8vIHdpZHRoOiAkZ2NwICogJGk7XG4gIH1cbn1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAyNCB7XG4gIC5nYy0jeyRpfSB7XG4gICAgd2lkdGg6ICRnYyAqICRpO1xuICAgIC8vIHdpZHRoOiAkZ3JlbSAqICRpO1xuICAgIC8vIHdpZHRoOiAkZ2NwICogJGk7XG4gIH1cbn1cblxuLmdjLTEtaGFsZiB7XG4gIHdpZHRoOiAkZ2MgKiAxLjU7XG59XG5cbi5nYy0yLWhhbGYge1xuICB3aWR0aDogJGdjICogMi4yNTtcbn1cblxuLmdjLTItc2V2ZW4tZml2ZSB7XG4gIHdpZHRoOiAkZ2MgKiAyLjc1O1xufVxuXG4uZ2MtMS10d28tZml2ZSxcbi5nYy10d28tZml2ZSB7XG4gIHdpZHRoOiAkZ2MgKiAxLjI1O1xufVxuXG4uZ2MtMS1zZXZlbi1maXZlIHtcbiAgd2lkdGg6ICRnYyAqIDEuNzU7XG59XG5cbi8vIEdyaWQgT2Zmc2V0c1xuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAyNCB7XG4gIC5nLW8tI3skaX0ge1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JlbSAqICRpO1xuICB9XG59XG5cbi8vIHNlY3Rpb24uZnVsbC13aWR0aCAucm93IHtcbi8vICAgcGFkZGluZy1sZWZ0OiAwO1xuLy8gICBwYWRkaW5nLXJpZ2h0OiAwO1xuLy8gfVxuXG4vLyBzZWN0aW9uID4gLnJvdyB7XG4vLyAgIHBhZGRpbmctbGVmdDogJGdyZW07XG4vLyAgIHBhZGRpbmctcmlnaHQ6ICRncmVtO1xuLy8gfVxuXG5zZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucm93IHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgZmxleGJveCgpO1xuICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG5cbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIFtjbGFzc149Zy1dIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gW2NsYXNzXj1nLV0ge1xuICAgIC8vICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIC8vICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAvLyB9XG4gIH1cblxuICAvLyAucm93IHtcbiAgLy8gICBwYWRkaW5nLWxlZnQ6IDA7XG4gIC8vICAgcGFkZGluZy1yaWdodDogMDtcbiAgLy8gfVxufVxuXG4uYWxpZ24tY2VudGVyIHtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG59XG5cbi5mLWNvbHVtbiB7XG4gIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgLnN1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgfVxufVxuXG4uYWxpZ24tY2VudGVyLWNvbCB7XG4gIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIFtjbGFzc149Zy1dIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICB9XG59XG5cbi5hbGlnbi10b3AtY2VudGVyIHtcbiAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgZmxleC1zdGFydCk7XG59XG5cbltjbGFzc149Zy1dLmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBmbGV4Ym94KCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgc2VjdGlvbj4ucm93IHtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLy8gYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICB9XG5cbiAgc2VjdGlvbiB7XG5cbiAgICAvLyBHcmlkIENvbHVtbnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDI0IHtcbiAgICAgIC5nLSN7JGl9IHtcbiAgICAgICAgd2lkdGg6ICRnY3AgKiAkaTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDI0IHtcbiAgICAgIC5nYy0jeyRpfSB7XG4gICAgICAgIHdpZHRoOiAkZ2NwICogJGk7XG4gICAgICB9XG5cbiAgICAgIC5nY3AtI3skaX0ge1xuICAgICAgICB3aWR0aDogJGdjcCAqICRpO1xuICAgICAgfVxuXG4gICAgICAuZy1vLSN7JGl9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnY3AgKiAkaTtcbiAgICAgIH1cblxuICAgICAgLmdwbS1vLSN7JGl9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnY3AgKiAkaTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLmZsdWlkIHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgIC5yb3cge1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG5cbiAgLnBvc3QtcG9ydGZvbGlvLWhlcm8gLm91dGxpbmUuYmVsb3ctbWQsXG4gIC5zdGF0LXRvZ2dsZS5iZWxvdy1tZCxcbiAgLmhvcml6b250YWwtaW1hZ2Utc2Nyb2xsZXIuYmVsb3ctbWQsXG4gIC5yb3cuYmVsb3ctbWQsXG4gIC5iZWxvdy1tZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAubWQtYWxpZ24tZW5kIHtcbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgZmxleC1lbmQsIGZsZXgtZW5kKTtcbiAgfVxuXG4gIC5zaWRlLXBsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmVtO1xuICB9XG59XG5cbi8vIEVuZCA3NjkgTWluXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXG4gICNpbmRleC1oZXJvIC53b3JkLWxpc3QuYWJvdmUtbWQsXG4gIC5jb2xsZWN0aW9uLWdyaWQtcm93LmFib3ZlLW1kLFxuICAuYWJvdmUtbWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLm1kLWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuICAgIFtjbGFzc149Z2MtXSxcbiAgICBbY2xhc3NePWctXSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIFtjbGFzc149Zy1vLV0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1kLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4tcmV2ZXJzZSk7XG5cbiAgICBbY2xhc3NePWdjLV0sXG4gICAgW2NsYXNzXj1nLV0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAubWQtYWxpZ24tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICB9XG5cbiAgLm1kLXNpZGUtcGwsXG4gIC5tZC1wIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnYztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2M7XG4gIH1cblxuICAuYmVsb3ctbWQge1xuICAgIEBpbmNsdWRlIGZsZXhib3goKTtcblxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAuc2lkZS1wbCB7XG4gICAgLy8gcGFkZGluZy1sZWZ0OiAuOTM3NTAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgLy8gcGFkZGluZy1yaWdodDogLjkzNzUwMDAwMDAwMDAwMDAwMDAwcmVtO1xuICAgIC8vIHBhZGRpbmctbGVmdDogMC45OTc5cmVtO1xuICAgIC8vIHBhZGRpbmctcmlnaHQ6IDAuOTk3OXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuNjkzMDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMy42OTMwMXJlbTtcbiAgfVxufVxuXG4vLyBFbmQgNzY4IE1heCIsIkBpbXBvcnQgJy4vc3RydWN0dXJlL192YXJzLnNjc3MnO1xuQGltcG9ydCAnLi9zdHJ1Y3R1cmUvX21peGlucy5zY3NzJztcblxuQGltcG9ydCAnLi9zdHJ1Y3R1cmUvX2dyaWQuc2Nzcyc7XG5AaW1wb3J0ICcuL3N0cnVjdHVyZS9fdHlwb2dyYXBoeS5zY3NzJztcbkBpbXBvcnQgJy4vc3RydWN0dXJlL19oZWFkZXIuc2Nzcyc7XG5AaW1wb3J0ICcuL3N0cnVjdHVyZS9fZ2xvYmFsLnNjc3MnO1xuQGltcG9ydCAnLi9zdHJ1Y3R1cmUvX2Zvb3Rlci5zY3NzJztcbkBpbXBvcnQgJy4vc3RydWN0dXJlL19mb3Jtcy5zY3NzJztcblxuQGltcG9ydCAnLi9lbGVtZW50cy9fYXBwcy5zY3NzJztcbkBpbXBvcnQgJy4vZWxlbWVudHMvX2J1dHRvbnMuc2Nzcyc7XG5AaW1wb3J0ICcuL2VsZW1lbnRzL19wYWdlcy5zY3NzJztcbkBpbXBvcnQgJy4vZWxlbWVudHMvX2ljb25zLnNjc3MnO1xuQGltcG9ydCAnLi9lbGVtZW50cy9fcG9zdHMuc2Nzcyc7XG5cbi8vIEBpbXBvcnQgJ35sb2NvbW90aXZlLXNjcm9sbC9zcmMvbG9jb21vdGl2ZS1zY3JvbGwuc2Nzcyc7XG4iLCIkZ2NwOiA0LjE2NjY2NjY2NjY2NSU7IC8vIDI0XG4vLyAkZ2NwOiA0LjE2NjY2NjY2NjY2NyU7IC8vIDI0XG5cbi8vIDQuMTY2NjY2NjY2NyAtPiAoNjAvMTQ0MCkgKiAxMDAgLSAocHggLyB3aW5kb3cuaW5uZXJXaWR0aCkgKiAxMDBcbi8vICRnYzogNC4xNjY2NjY2NjY2NjV2dzsgLy8gMjRcbiRnYzogNC4xNjY2NjY2NjY2Njd2dzsgLy8gMjRcbiRncmVtOiAzLjc1cmVtOyAvLyA2MCAvMTZcblxuXG4vLyBDb2xvcnNcbiRkYXJrOiAjMkQyQTFGO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGdvbGQ6ICNDOEFBN0M7XG4kbGlnaHQtY3JlYW06ICNGQkYxRTY7XG4kZ3JlZW46ICM1MjQ3MUU7XG4kbGlnaHQtZ3JlZW46ICM2QjdDNzg7XG4kZ3JlZW4tZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgyMjcuNDVkZWcsICM2QjdDNzggLTAuMDclLCAjNTI0NzFFIDkyJSk7XG5cbi8vICRjdWJpYzogY3ViaWMtYmV6aWVyKC44LC41MywuNDEsLjc3KTtcbiRjdWJpYzogY3ViaWMtYmV6aWVyKC43NSwuMTgsLjMsLjc3KTtcbiRjdWJpYzI6IGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG5cbi8vIEZvbnRzXG4kdnMtcjogXCJWaW9sZXQtSlctU2VyaWYtUmVndWxhclwiO1xuJHN3LXI6IFwiU3dlZXRTYW5zUHJvLVJlZ3VsYXJcIjtcbiRzdy1tOiBcIlN3ZWV0U2Fuc1Byby1NZWRpdW1cIjtcbiRzdy1iOiBcIlN3ZWV0U2Fuc1Byby1Cb2xkXCI7IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlZpb2xldC1KVy1TZXJpZi1SZWd1bGFyXCI7XG4gIHNyYzogdXJsKC4uL2Fzc2V0cy9WaW9sZXRKV1NlcmlmLVJlZ3VsYXIud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoLi4vYXNzZXRzL1Zpb2xldEpXU2VyaWYtUmVndWxhci53b2ZmKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTd2VldFNhbnNQcm8tUmVndWxhclwiO1xuICAvLyBzcmM6IHVybCguLi9hc3NldHMvU3dlZXRTYW5zUHJvLVJlZ3VsYXIub3RmKSBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIHNyYzogdXJsKC4uL2Fzc2V0cy9zd2VldHNhbnNwcm8tcmVndWxhci13ZWJmb250LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKC4uL2Fzc2V0cy9zd2VldHNhbnNwcm8tcmVndWxhci13ZWJmb250LndvZmYpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTd2VldFNhbnNQcm8tTWVkaXVtXCI7XG4gIC8vIHNyYzogdXJsKC4uL2Fzc2V0cy9Td2VldFNhbnNQcm8tTWVkaXVtLm90ZikgZm9ybWF0KCdvcGVudHlwZScpO1xuICBzcmM6IHVybCguLi9hc3NldHMvc3dlZXRzYW5zcHJvLW1lZGl1bS13ZWJmb250LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKC4uL2Fzc2V0cy9zd2VldHNhbnNwcm8tbWVkaXVtLXdlYmZvbnQud29mZikgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlN3ZWV0U2Fuc1Byby1Cb2xkXCI7XG4gIC8vIHNyYzogdXJsKC4uL2Fzc2V0cy9Td2VldFNhbnNQcm8tQm9sZC5vdGYpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgc3JjOiB1cmwoLi4vYXNzZXRzL3N3ZWV0c2Fuc3Byby1ib2xkLXdlYmZvbnQud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoLi4vYXNzZXRzL3N3ZWV0c2Fuc3Byby1ib2xkLXdlYmZvbnQud29mZikgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcnRyYWl0VGV4dFwiO1xuICBzcmM6IHVybCguLi9hc3NldHMvUG9ydHJhaXRUZXh0LVJlZ3VsYXIub3RmKSBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyb3duSW5saW5lXCI7XG4gIHNyYzogdXJsKC4uL2Fzc2V0cy9Ccm93bklubGluZUxMVFQtUmVndWxhci50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUFBGR0xcIjtcbiAgc3JjOiB1cmwoLi4vYXNzZXRzL1BQRnJhZ21lbnQtR2xhcmVSZWd1bGFyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmMtMTIwIHtcbiAgZm9udC1mYW1pbHk6IFwiUFBGR0xcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtOyAvLyAxMjBcbiAgbGluZS1oZWlnaHQ6IDEuMDUwMDAwMDAwMDAwMDAwMDAwMDA7IC8vIDEyNlxufVxuXG4uYy02MCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoNDBweCwgMy4xMjUwcmVtLCA2MHB4KTsgLy8gNTBcbiAgbGluZS1oZWlnaHQ6IDEuMTsgLy8gNjZcbiAgZm9udC1mYW1pbHk6IFwiUFBGR0xcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuXG4uYy00NiB7XG4gIGZvbnQtZmFtaWx5OiBcIlBQRkdMXCI7XG4gIC8vIGZvbnQtc2l6ZTogMi44NzUwcmVtOyAvLyA0NlxuICBmb250LXNpemU6IGNsYW1wKDQwcHgsIDIuODc1MHJlbSwgNjBweCk7IC8vIDQ2XG4gIGxpbmUtaGVpZ2h0OiAxLjE3Mzk7IC8vIDU0XG59XG5cbmJvZHkge1xuICAvLyBmb250LXNpemU6IDE2cHg7XG4gIC8vIGZvbnQtc2l6ZTogMXJlbTtcbiAgLy8gbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM1MjQ3MUU7XG4gIGZvbnQtZmFtaWx5OiAkdnMtcjtcbn1cblxucCB7XG4gIC8vIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDQsXG5oNSxcbi5oNSxcbmg2LFxuLmg2IHtcbiAgY29sb3I6ICM1MjQ3MUU7XG59XG5cbmgxLFxuLmgxIHtcbiAgZm9udC1mYW1pbHk6IFwiUFBGR0xcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IGNsYW1wKDYwcHgsIDVyZW0sIDEwMHB4KTsgLy8gODBcbiAgbGluZS1oZWlnaHQ6IDEuMTsgLy8gODhcbn1cblxuaDIsXG4uaDIge1xuICAvL3N0eWxlTmFtZTogQi01MDtcbiAgZm9udC1mYW1pbHk6IFwiUFBGR0xcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiBjbGFtcCg0MHB4LCAzLjEyNTByZW0sIDYwcHgpOyAvLyA1MFxuICBsaW5lLWhlaWdodDogMS4xNjAwOyAvLyA1OFxufVxuXG5cbmgzLFxuLmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiUFBGR0xcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAyLjUwMHJlbTsgLy8gNDBcbiAgbGluZS1oZWlnaHQ6IDEuMTUwMDsgLy8gNDZcbn1cblxuaDQsXG4uaDQge1xuICBmb250LWZhbWlseTogXCJQUEZHTFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDEuODc1MDByZW0sIDQwcHgpOyAvLyAzMFxuICBsaW5lLWhlaWdodDogMS4yMDsgLy8gMzZcbn1cblxuaDUsXG4uaDUge1xuICBmb250LWZhbWlseTogXCJQUEZHTFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICAvLyBmb250LXNpemU6IDEuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW07IC8vIDI0ICBcbiAgbGluZS1oZWlnaHQ6IGNsYW1wKDI0cHgsIDEuNDE2NjY2LCAzOHB4KTsgLy8gMzRcbn1cblxuaDYsXG4uaDYge1xuICBmb250LWZhbWlseTogXCJQUEZHTFwiO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDEuMzc1MDByZW0sIDI2cHgpOyAvLyAyMlxuICBsaW5lLWhlaWdodDogMS40NTQ1OyAvLyAzMlxufVxuXG4ueHMtc21hbGwge1xuICBmb250LXNpemU6IGNsYW1wKDE0cHgsIC44NzUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTZweCk7IC8vIDE0XG4gIGxpbmUtaGVpZ2h0OiAxLjUwMDsgLy8gMjFcbn1cblxuLnh4cy1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTJweCwgLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxNHB4KTsgLy8gMTJcbiAgbGluZS1oZWlnaHQ6IDEuNTA7IC8vIDE4XG4gIGZvbnQtZmFtaWx5OiAkc3ctcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLy8gLnN1YnRpdGxlIHtcbi8vICAgZm9udC1mYW1pbHk6ICRzdy1yO1xuLy8gICBmb250LXNpemU6IGNsYW1wKDEycHgsIC43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTsgLy8gMTJcbi8vICAgbGluZS1oZWlnaHQ6IDEuNTAwMDAwMDAwMDAwMDAwMDAwMDA7IC8vIDE4XG4vLyB9XG5cbmZpZ2NhcHRpb24sXG4uc3VidGl0bGUge1xuICBmb250LWZhbWlseTogJHN3LXI7XG4gIC8vIGZvbnQtc2l6ZTogY2xhbXAoMTJweCwgLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0pOyAvLyAxMlxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjUwMDA7IC8vIDE4XG4gIGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG5cbiAgJi53aXRoLWxpbmVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZmFtaWx5OiAkc3ctbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgZmxleC1zdGFydCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IGNsYW1wKDIwcHgsIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJi5nb2xkOjpiZWZvcmUsXG4gICAgJi5nb2xkOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ29sZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLmxhcmdlIHtcbi54eHMtc21hbGwge1xuICBmb250LWZhbWlseTogJHN3LXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTAwMDAwMDAwMDAwMDAwMDAwMDA7IC8vIDE4XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi54LWxhcmdlIHtcbiAgZm9udC1mYW1pbHk6ICR2cy1yO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQwMDAwMDAwMDAwMDAwMDAwMDAwOyAvLyAyOFxufVxuXG4udGV4dC1saWdodCxcbi50ZXh0LWxpZ2h0IGgxIHtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG5cbiAgLmg1LFxuICBoNSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAxLjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAyNHB4KTtcbiAgfVxufVxuXG4vLyBFbmQgNzY5IE1pblxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxLjExMTExMTExMTExMTExMTJ2dztcbiAgLy8gZm9udC1zaXplOiBjYWxjKCh2YXIoLS1taW4tZm9udCkgKiB2YXIoLS1yb290LXNpemUpICogMXB4KSArICh2YXIoLS1tYXgtZm9udCkgLSB2YXIoLS1taW4tZm9udCkpICogdmFyKC0tcm9vdC1zaXplKSAqICgoMTAwdncgLSA0MjBweCkgLyAoMTIwMCAtIDQyMCkpKTtcbiAgLy8gZm9udC1zaXplOiBjYWxjKCh2YXIoMTZweCkgKiB2YXIoMTZweCkgKiAxcHgpICsgKHZhcigxLjExMTExdncpIC0gdmFyKDE2cHgpKSAqIHZhcigxNnB4KSAqICgoMTAwdncgLSA0MjBweCkgLyAoMTIwMCAtIDQyMCkpKTtcbn1cblxuLy8gYm9keSB7XG4vLyBmb250LXNpemU6IDFyZW07XG4vLyBmb250LXNpemU6IDE2cHg7XG4vLyBmb250LXNpemU6IGNhbGMoMTJweCArIGNhbGMoMTYgLSAxMikgKiAoKDEwMHZ3IC0gMzkwcHgpIC8gY2FsYygxNDQwIC0gMzkwKSkpO1xuLy8gfVxuXG4vLyA6cm9vdCB7XG4vLyAgIGZvbnQtc2l6ZTogMTZweDtcbi8vIH1cblxuLy8gKiB7XG4vLyAgIC8qIFNldHRpbmcgcm9vdCBmb250IHNpemUqL1xuLy8gICAtLXJvb3Qtc2l6ZTogMTY7XG4vLyAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1yb290LXNpemUsIDE2KSAqIDFweCk7XG4vLyAgIC8qIFR5cG9ncmFwaHkgKi9cbi8vICAgLS1tYWluLWZvbnQ6ICdTbGFibyAyN3B4Jywgc2VyaWY7XG4vLyAgIC8qIENhbGN1bGF0aW9uLCBSYW5nZXMgZnJvbSA0MjFweCB0byAxMTk5cHggKi9cbi8vICAgLS1yZXNwb25zaXZlOiBjYWxjKCh2YXIoLS1taW4tZm9udCkgKiB2YXIoLS1yb290LXNpemUpICogMXB4KSArICh2YXIoLS1tYXgtZm9udCkgLSB2YXIoLS1taW4tZm9udCkpICogdmFyKC0tcm9vdC1zaXplKSAqICgoMTAwdncgLSA0MjBweCkgLyAoMTIwMCAtIDQyMCkpKTtcbi8vIH1cblxuLy8gYm9keSB7XG4vLyAgIGZvbnQtc2l6ZTogY2FsYygxMnB4ICsgY2FsYygxNiAtIDEyKSAqICgoMTAwdncgLSAzOTBweCkgLyBjYWxjKDE0NDAgLSAzOTApKSk7XG4vLyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gIC5jLTEyMCB7XG4gICAgZm9udC1zaXplOiAxMC44NDYxNTM4NDYxNTM4NDYxNTM4NHZ3O1xuICB9XG5cbiAgLmgxLFxuICBoMSB7XG4gICAgZm9udC1zaXplOiA4LjI1NjQxMDI1NjQxMDI1NjQxMDI1dnc7XG4gIH1cblxuICAuaDIsXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDcuNzE3OTQ4NzE3OTQ4NzE3OTQ4NzF2dztcbiAgfVxuXG4gIC5oNCxcbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogNS4xNTM4NDYxNTM4NDYxNTM4NDYxNXZ3O1xuICB9XG5cbiAgLmgzLFxuICBoMyB7XG4gICAgZm9udC1zaXplOiA1LjY5MjMwNzY5MjMwNzY5MjMwNzY5dnc7XG4gIH1cblxuICAuaDUsXG4gIGg1IHtcbiAgICAvLyBmb250LXNpemU6IDUuMTI4MjA1MTI4MjA1MTI4MjA1MTJ2dztcbiAgICBmb250LXNpemU6IDQuMTI4MjA1MTI4MjA1MTI4MjA1MTJ2dztcbiAgfVxufVxuXG4vLyBFbmQgNzY4IE1heCBhbmQgNTc3IE1pblxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblxuICAuaDEsXG4gIGgxIHtcbiAgICAvLyBmb250LXNpemU6IDUuMzV2dztcbiAgICBsaW5lLWhlaWdodDogMS4yMDAwMDAwMDAwMDAwMDAwMDAwMDsgLy8gNDhcbiAgfVxuXG4gIC5oMixcbiAgaDIge1xuICAgIC8vIGZvbnQtc2l6ZTogNHZ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE3NjQ3MDU4ODIzNTI5NDExNzY0OyAvLyA0MFxuICB9XG5cbiAgLmgzLFxuICBoMyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjAwMDAwMDAwMDAwMDAwMDAwMDA7IC8vIDM2XG4gIH1cblxuICAuYmxvY2txdW90ZSBibG9ja3F1b3RlLFxuICAuaDQsXG4gIGg0IHtcbiAgICAvLyBsaW5lLWhlaWdodDogMS40NzgyNjA4Njk1NjUyMTczOTEzMDsgLy8gMzRcbiAgICBsaW5lLWhlaWdodDogMS40MTY2NjY2NjY2NjY2NjY2NjY2NjsgLy8gMzRcbiAgfVxuXG4gIC5oNSxcbiAgaDUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQwMDAwMDAwMDAwMDAwMDAwMDAwOyAvLyAyOFxuICB9XG5cbiAgLmMtMTIwIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNDgxNDgxNDgxNDgxNDgxNDgxNDsgLy8gNjJcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgMXJlbSAqIDMuNywgMTZweCk7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5jLTEyMCB7XG4gICAgZm9udC1zaXplOiAxMy44NDYxNTM4NDYxNTM4NDYxNTM4NHZ3O1xuICB9XG5cbiAgLmgxLFxuICBoMSB7XG4gICAgZm9udC1zaXplOiAxMC4yNTY0MTAyNTY0MTAyNTY0MTAyNXZ3O1xuICB9XG5cbiAgLmgyLFxuICBoMiB7XG4gICAgZm9udC1zaXplOiA4LjcxNzk0ODcxNzk0ODcxNzk0ODcxdnc7XG4gIH1cblxuICAuaDMsXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDcuNjkyMzA3NjkyMzA3NjkyMzA3Njl2dztcbiAgfVxuXG4gIC5oNCxcbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogNi4xNTM4NDYxNTM4NDYxNTM4NDYxNXZ3O1xuICB9XG5cbiAgLmg1LFxuICBoNSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5cbi5mb250LXNzcC1yIHtcbiAgZm9udC1mYW1pbHk6IFwiU3dlZXRTYW5zUHJvLVJlZ3VsYXJcIjtcbn1cblxuLmZvbnQtc3NwLW0ge1xuICBmb250LWZhbWlseTogXCJTd2VldFNhbnNQcm8tTWVkaXVtXCIgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtc3NwLWIge1xuICBmb250LWZhbWlseTogXCJTd2VldFNhbnNQcm8tQm9sZFwiICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LWJyLXIge1xuICBmb250LWZhbWlseTogXCJCcm93bkxMLVJlZ3VsYXJcIiAhaW1wb3J0YW50O1xufVxuXG4uZm9udC1jZC1yIHtcbiAgZm9udC1mYW1pbHk6IFwiQ2hyb25pY2xlRGlzcC1Sb21hblwiICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LWNzbC1yIHtcbiAgZm9udC1mYW1pbHk6IFwiQ29udHJhbHRvU21hbGxMaWdodFwiICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXBzLXIge1xuICBmb250LWZhbWlseTogXCJQUFBpZXJTYW5zLVJlZ3VsYXJcIiAhaW1wb3J0YW50O1xufVxuXG4uZm9udC1wY2QtciB7XG4gIGZvbnQtZmFtaWx5OiBcIlBhbG1DYW55b25Ecml2ZVJlZ3VsYXJcIiAhaW1wb3J0YW50O1xufVxuXG4uZm9udC1nbi1yIHtcbiAgZm9udC1mYW1pbHk6IFwiR2FyZGFOb3ZhMi1SZWd1bGFyXCIgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtdHRuLXIge1xuICBmb250LWZhbWlseTogXCJUVE5vcm1zUHJvRXhwYW5kZWRSZWd1bGFyXCIgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtcmVjIHtcbiAgZm9udC1mYW1pbHk6IFwiUmVjaWZlXCI7XG59XG5cbi5mb250LWVtIHtcbiAgZm9udC1mYW1pbHk6IFwiRW1pbGlvXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5mb250LWdybyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdyb1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uZm9udC1lZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkVkXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5mb250LXB0LXIge1xuICBmb250LWZhbWlseTogXCJQb3J0cmFpdFRleHRcIjtcbn1cblxuLmZvbnQtYnItaSB7XG4gIGZvbnQtZmFtaWx5OiBcIkJyb3duSW5saW5lXCI7XG59IiwiLmJ3cy1oZWFkZXIge1xuICAvLyBwYWRkaW5nLXRvcDogMjBweDtcbiAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDIwcHg7XG4gIGhlaWdodDogMTIwcHg7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uZGVza3RvcC1maXhlZC1uYXYgLm5hdi1saXN0LFxuLmRlc2t0b3AtbmF2LXJlZ3VsYXIgLm5hdi1saXN0IHtcbiAgLy8gQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIHNwYWNlLWJldHdlZW4sIGNlbnRlcik7XG5cbiAgLmJ3cy1sb2dvIHtcbiAgICAvLyB3aWR0aDogJGdyZW0gKiAyO1xuICAgIC8vIHdpZHRoOiAkZ3JlbSAqIDEuNTg4NzU7XG4gICAgLy8gd2lkdGg6IDYuNjI2MjUwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgd2lkdGg6IDYuNjg3NTAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgcGFkZGluZzogMDtcblxuICAgIHN2ZyB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWFpbi1sb2dvIHtcbiAgICBwYWRkaW5nOiAwIDAuNjg3NTAwMDAwMDAwMDAwMDAwMDByZW07XG4gIH1cblxuICBsaS5tYWluLWxvZ28uYWN0aXZlIGE6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIGEge1xuICAgIC8vIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIC8vIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICB9XG5cbiAgbGkge1xuICAgIC8vIHBhZGRpbmctbGVmdDogMi41NjI1cmVtO1xuICAgIC8vIHBhZGRpbmctcmlnaHQ6IDIuNTYyNXJlbTtcbiAgICAvLyBwYWRkaW5nLWxlZnQ6IDIuNTYyNTAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgLy8gcGFkZGluZy1yaWdodDogMi41NjI1MDAwMDAwMDAwMDAwMDAwMHJlbTtcblxuICAgIC8vIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4Ym94LCBjZW50ZXIsIGNlbnRlcik7XG4gIH1cbn1cblxuLmJ3cy1oZWFkZXIgLm1lbnUtYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDEzMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRjFFREU0O1xuICBib3JkZXItcmFkaXVzOiA4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTQlKTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5id3MtaGVhZGVyLmNsb3NlZCAubmF2LWxpc3Qge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRlc2t0b3AtbmF2LXJlZ3VsYXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ubmF2LWxpc3QubmF2LWxpc3QtbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlKSk7XG59XG5cbi5uYXYtbGlzdC5uYXYtbGlzdC1yaWdodCB7XG4gIGxlZnQ6IGNhbGMoNTAlICsgNDBweCk7XG59XG5cbi5uYXYtbGlzdCB7XG4gIHdpZHRoOiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNDBweCk7XG4gIHRvcDogMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAyZW07XG4gIHotaW5kZXg6IDU7XG5cbiAgbGkgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uYndzLWhlYWRlciB7XG4gIC5id3MtbG9nbyB7XG4gICAgbWluLXdpZHRoOiA1MnB4O1xuICB9XG5cbiAgLm5hdi1saXN0LFxuICAubmF2LWxpc3QgbGkge1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuXG4gIC5uYXYtbGlzdCBsaSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gIH1cbn1cblxuLmRlc2t0b3AtbmF2LXJlZ3VsYXIgLm1haW4tbG9nbyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDIwcHg7XG4gIHdpZHRoOiAxMDZweDtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gIC5sb2dvLXdyYXAge1xuICAgIGN1cnNvcjogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmxvZ28taW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDEwMnB4O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIH1cbn1cblxuLmJ3cy1oZWFkZXIgbmF2IHtcbiAgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2ljb24tbmF2LWFjdGl2ZS1kYXJrLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2ljb24tbmF2LWFjdGl2ZS1nb2xkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDQwMG1zIGFsbCAkY3ViaWMpO1xuICAgIH1cbiAgfVxuXG4gIGxpLmFjdGl2ZSBhIHtcbiAgICBjb2xvcjogJGdvbGQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRvcDogLThweDtcbiAgICB9XG4gIH1cbn1cblxuLmRlc2t0b3AtZml4ZWQtbmF2IC5uYXYtbGlzdCxcbi5kZXNrdG9wLW5hdi1yZWd1bGFyIC5uYXYtbGlzdCxcbi5tb2JpbGUtbmF2aWdhdGlvbiAubmF2LWxpc3QtbW9iaWxlIHtcbiAgYSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxMnB4LCAwLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxNHB4KTsgLy8gMTJcbiAgICBsaW5lLWhlaWdodDogMS41MDsgLy8gMThcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1mYW1pbHk6ICRzdy1tO1xuICB9XG59XG5cbi5tb2JpbGUtZml4ZWQtbmF2IHtcbiAgd2lkdGg6IDEzMHB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGdvbGQsIDAuMik7XG4gIHBhZGRpbmc6IDVweCA2cHggNXB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgei1pbmRleDogMTE7XG5cbiAgLy8gQGluY2x1ZGUgZmxleGJveCgpO1xuICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleCwgY2VudGVyLCBzcGFjZS1iZXR3ZWVuKTtcblxuICAuYndzLWxvZ28tc2Vjb25kIHtcbiAgICBtYXJnaW4tbGVmdDogMTRweDtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMzdweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIC5oYW1idXJnZXIge1xuICAvLyAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAvLyB9XG59XG5cbi5id3MtaGVhZGVyLmZpeGVkIHtcblxuICAmLmNsb3NlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAuYndzLWxvZ28ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG4gIH1cblxuXG4gIC5tYWluLWxvZ28gLmhhbWJ1cmdlci1pY29uIHtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1pY29uIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cbiAgPmRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00NTAlKTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDQwMCUpO1xuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLWZpeGVkLW5hdixcbi5kZXNrdG9wLWZpeGVkLW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAyMHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcblxuICBtYXJnaW46IGF1dG87XG5cbiAgLmJ3cy1sb2dvLXNlY29uZCB7XG5cblxuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5tb2JpbGUtZml4ZWQtbmF2IHtcbiAgLmhhbWJ1cmdlciB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZ29sZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBzcGFuIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbig0MDBtcyBhbGwgJGN1YmljKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oNDAwbXMgdHJhbnNmb3JtICRjdWJpYzIpO1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICB0b3A6IDE4cHg7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICB0b3A6IDI0cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oYW1idXJnZXIuYWN0aXZlIHtcbiAgICBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgwcHgsIDZweCkgcm90YXRlKDQ1ZGVnKSk7XG4gICAgfVxuXG4gICAgc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDApKTtcbiAgICB9XG5cbiAgICBzcGFuOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKDBweCwgLTZweCkgcm90YXRlKC00NWRlZykpO1xuICAgIH1cbiAgfVxufVxuXG4uZGVza3RvcC1maXhlZC1uYXYgLmRlc2t0b3AtbmF2LXJlZ3VsYXIgdWwge1xuICBsZWZ0OiAxNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kZXNrdG9wLWZpeGVkLW5hdiB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHdpZHRoOiA4MHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogODtcblxuICAuc3BhY2VyIHtcbiAgICB3aWR0aDogODBweDtcbiAgfVxuXG4gIC5id3MtbG9nby1zZWNvbmQsXG4gIC5oYW1idXJnZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA2O1xuICB9XG5cbiAgLmhhbWJ1cmdlciB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cbiAgLy8gfVxuXG4gIC5id3MtbG9nby1zZWNvbmQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmRlc2t0b3AtbmF2LXJlZ3VsYXIge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMjBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHBhZGRpbmc6IDMxcHggMDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkZ29sZCwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgc3BhY2UtZXZlbmx5KTtcblxuICAgIHVsIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIExpZ2h0IG5hdiAtIHdpdGggQkdcbmJvZHkuc2luZ2xlLXBvcnRmb2xpbyxcbmJvZHkucG9ydGZvbGlvLFxuYm9keS5wYWdlLXRoZS1jb2xsZWN0aW9uLFxuYm9keS5wYWdlLXByZXNzLFxuYm9keS5zaW5nbGUtcHJlc3MsXG5ib2R5LnBhZ2UtZXhwZXJpZW5jZXMsXG5ib2R5LnBhZ2UtZXZlbnRzLFxuYm9keS50ZWFtLFxuYm9keS5wYWdlLWJyYW5ke1xuICBtYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG5ib2R5LmhvbWUgLmJ3cy1oZWFkZXIsXG5ib2R5LnNpbmdsZS1wb3J0Zm9saW8gLmJ3cy1oZWFkZXIsXG5ib2R5LnBvcnRmb2xpbyAuYndzLWhlYWRlcixcbmJvZHkucGFnZS10aGUtY29sbGVjdGlvbiAuYndzLWhlYWRlcixcbmJvZHkucGFnZS1wcmVzcyAuYndzLWhlYWRlcixcbmJvZHkuc2luZ2xlLXByZXNzIC5id3MtaGVhZGVyLFxuYm9keS5wYWdlLWV4cGVyaWVuY2VzIC5id3MtaGVhZGVyLFxuYm9keS5wYWdlLWV2ZW50cyAuYndzLWhlYWRlcixcbmJvZHkudGVhbSAuYndzLWhlYWRlcixcbmJvZHkucGFnZS1icmFuZCAuYndzLWhlYWRlciB7XG5cbiAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAvLyB0b3A6IDA7XG4gIC8vIGxlZnQ6IDA7XG4gIC8vIHotaW5kZXg6IDQ7XG4gIC5uYXYtbGlzdCBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLm1haW4tbG9nbyBwYXRoIHtcbiAgICBmaWxsOiAkd2hpdGU7XG4gIH1cblxuICBuYXYgYTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2ljb24tbmF2LWFjdGl2ZS1saWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICB9XG5cbiAgJi5vcGVuIC5kZXNrdG9wLW5hdi1yZWd1bGFyLFxuICAmLmNsb3NlZCAuZGVza3RvcC1uYXYtcmVndWxhciB7XG4gICAgYSB7XG4gICAgICAvLyBjb2xvcjogJGRhcms7XG4gICAgfVxuXG4gICAgbGkuYWN0aXZlIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2ljb24tbmF2LWFjdGl2ZS1nb2xkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbmJvZHkucGFnZS1hYm91dCxcbmJvZHkucGFnZS1ldmVudHMsXG5ib2R5LnBhZ2UtY2FyZWVycyB7XG5cbiAgLmRlc2t0b3AtZml4ZWQtbmF2IC5uYXYtbGlzdCxcbiAgLmRlc2t0b3AtbmF2LXJlZ3VsYXIgLm5hdi1saXN0IHtcbiAgICBsaS5hY3RpdmUgYSB7XG4gICAgICBjb2xvcjogIzhBNzk1RSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpIGE6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2ljb24tbmF2LWFjdGl2ZS1nb2xkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmJ3cy1oZWFkZXIub3BlbiAuZGVza3RvcC1uYXYtcmVndWxhciBsaSxcbiAgLmJ3cy1oZWFkZXIuY2xvc2VkIC5kZXNrdG9wLW5hdi1yZWd1bGFyIGxpIHtcbiAgICAmLmFjdGl2ZSBhIHtcbiAgICAgIC8vIGNvbG9yOiAkZ29sZDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2Fzc2V0cy9pY29uLW5hdi1hY3RpdmUtZ29sZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLWlvcy1kZXZpY2Uge1xuICAubW9iaWxlLW5hdmlnYXRpb24gLmJ0biB7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zYWIpICsgNDBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zYWIpICsgNjBweCk7XG4gIH1cbn1cblxuLm1vYmlsZS1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAkZ29sZDtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuXG4gIC53cmFwIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuXG4gIC5tb2JpbGUtbWVudS1uYXYge1xuICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgfVxuXG4gIC8vIC5uYXYtbGlzdCB7XG4gIC5uYXYtbGlzdC1tb2JpbGUge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxNDBweCwgMTYuODV2dywgMTYuODV2dyk7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgMC4xNSk7XG5cbiAgICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG4gICAgfVxuICB9XG5cbiAgbGkuYWN0aXZlIGEge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgfVxuXG4gIC5idG4ge1xuICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogJGdyZW0gKiAyMjtcbiAgICBtYXJnaW4tbGVmdDogJGdyZW07XG4gICAgLy8gYm90dG9tOiAyMHB4O1xuICAgIC8vIG1hcmdpbi1ib3R0b206IHZhcigtLXNhYik7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zYWIpICsgMjBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zYWIpICsgMjBweCk7XG4gIH1cblxuICAuaWNvbi1wZW4tY3RhIHtcbiAgICB3aWR0aDogY2xhbXAoMjBweCwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgaGVpZ2h0OiBjbGFtcCgzMHB4LCAxLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuXG4gIC5id3MtbG9nbzpob3ZlcixcbiAgLy8gLmRlc2t0b3AtZml4ZWQtbmF2OmhvdmVyLFxuICAuZGVza3RvcC1uYXYtcmVndWxhcjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLm1vYmlsZS1maXhlZC1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi8vIEVuZCAxMDI1IE1pblxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5id3MtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufSIsIioge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbjpyb290IHtcbiAgLS1zYXQ6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgLS1zYXI6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAtLXNhYjogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuICAtLXNhbDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgLy8gZm9udC1zaXplOiAxNnB4O1xufVxuXG4uaGlkZGVuLWVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uaGlkZGVuLWkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ob21lLWhlcm8ge1xuICBtYXgtaGVpZ2h0OiAxMjMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4uaG9tZS1oZXJvLFxuLnBvc3QtcG9ydGZvbGlvLWhlcm8ge1xuICAucm93IHtcbiAgICBtYXgtaGVpZ2h0OiAxMjMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTIwcHgpO1xuICB9XG59XG5cbi5pbnRyby1iZy13aGl0ZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMTI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udHR1IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmludHJvLWJnLWdyZWVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjI3LjQ1ZGVnLCAjNTI0NzFFIC0wLjA3JSwgIzUyNDcxRSA5MiUpO1xuICB6LWluZGV4OiAxMztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG5cbiAgLy8gJi5hY3RpdmUge1xuICAvLyAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIC8vIH1cbn1cblxuLmhlcm8tZ3JhZGllbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjNTI0NzFFIDAlLCByZ2JhKDU4LCA4MCwgNzUsIDApIDU0LjUzJSk7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgLy8gei1pbmRleDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi5pZnJhbWUtaG9sZGVyIHtcbiAgYmFja2dyb3VuZDogJGRhcms7XG4gIHotaW5kZXg6IDM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcblxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBsZWZ0OiAwO1xuICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxufVxuXG4uaW50cm8tbG9nbyxcbi5pbnRyby1sb2dvIHN2Zyxcbi5pbnRyby1sb2dvIHN2ZyBwYXRoIHtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cblxuLmludHJvLWxvZ28ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIC8vIHRvcDogNTB2aDtcbiAgbGVmdDogNTAlO1xuICAvLyB6LWluZGV4OiAyMjtcbiAgd2lkdGg6ICRnYyAqIDI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIHBhdGgge1xuICAgIGZpbGw6ICRsaWdodC1jcmVhbTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIHdpZHRoOiAkZ2MgKiAyO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgd2lkdGg6IGNsYW1wKDYwcHgsICRnYyAqIDMsICRnYyAqIDMpO1xuICB9XG59XG5cbnBhcmFsbGF4LWltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW50cm8tdGl0bGUge1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIHRvcDogNTB2aDtcbiAgbGVmdDogNTAlO1xuICBmb250LWZhbWlseTogXCJQUEZHTFwiO1xuICBmb250LXNpemU6IDMuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4xMztcbiAgY29sb3I6ICRsaWdodC1jcmVhbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxuXG4gIGJvZHk6bm90KC5ob21lKSAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJj5kaXY6Zmlyc3Qtb2YtdHlwZSxcbiAgJj5kaXY6bnRoLW9mLXR5cGUoMikge1xuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgfVxuXG4gICY+ZGl2Lm9mLXY6Zmlyc3Qtb2YtdHlwZSxcbiAgJj5kaXYub2YtdjpudGgtb2YtdHlwZSgyKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICBkaXYge1xuICAgIG1hcmdpbjogMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbn1cblxuLm9mLWgge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cbn1cblxuLm9mLXYge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYSB7XG4gIGNvbG9yOiAkZGFyaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vLyBzdmcge1xuLy8gICB3aWR0aDogMTAwJTtcbi8vICAgaGVpZ2h0OiAxMDAlO1xuLy8gICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuLy8gfVxuXG5waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG59XG5cbiNzbW9vdGgtd3JhcHBlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgIFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uYnJvd3Nlci1zYWZhcmkge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIC5ob21lLWhlcm8tbW9iaWxlLFxuICAvLyAuaG9tZS1oZXJvLW1vYmlsZSAuaW5uZXItd3JhcHBlciB7XG4gIC8vICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgLy8gfVxufVxuXG4ubW9iaWxlLWlvcy1kZXZpY2Uge1xuICBzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG59XG5cbiNzbW9vdGgtY29udGVudCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbn1cblxuaHRtbC5oYXMtc2Nyb2xsLXNtb290aCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuXG4gIC5jb250ZW50LFxuICBib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbmh0bWwsXG5ib2R5LFxubWFpbixcbi5jb250ZW50IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uY29udGVudC13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmJyb3dzZXItc2FmYXJpIC5jb250ZW50LXdyYXBwZXIge1xuICAvLyBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuaHRtbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIG92ZXJmbG93OiBhdXRvOyAgXG4gIH1cbn1cblxuYm9keSB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG4uaW5zdGFncmFtLWN0YS5oaWRlLWVsLTEsXG4uYnRuLmhpZGUtZWwtMSxcbi5oaWRlLWVsLTEge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIGJvZHkge1xuLy8gICBoZWlnaHQ6IDEwMHZoO1xuLy8gfVxuXG5tYWluIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICB9XG59XG5cbmJvZHkuaG9tZSBtYWluIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbmJvZHkuaG9tZSBtYWluIC5ob21lLWhlcm8ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gIH1cbn1cblxuLmJyb3dzZXItc2FmYXJpIHtcbiAgI3Ntb290aC13cmFwcGVyIHtcblxuICAgIC8vIG92ZXJmbG93OiBhdXRvO1xuICAgICYubm9ybWFsLXNjcm9sbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgYm9keSB7XG4gICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuXG4gICNzbW9vdGgtY29udGVudCB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBib2R5LnBhZ2UtZXhwZXJpZW5jZXMsXG4vLyBib2R5LnBhZ2UtZXZlbnRzIHtcbi8vICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuLy8gfVxuXG4uaWNvbi1wZW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNDJweDtcbiAgcmlnaHQ6IDYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgei1pbmRleDogMTA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgfVxuXG4gIGE6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb2xkO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDUwMG1zIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpKTtcbiAgfVxuXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBzdmcge1xuICAgIGhlaWdodDogMzZweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogMCAyZW0gMCAxZW07XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRzdy1iO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSwgMS4xNSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG5cbiAgICBhIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuW2NsYXNzXj1pY29uLWlsbHVzdHJhdGlvbi1dIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAtMTtcblxuICBpbWcge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC8vIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLy8gICBvcGFjaXR5OiAxO1xuXG4gIC8vICAgaW1nIHtcbiAgLy8gICAgIG9wYWNpdHk6IDAuMztcbiAgLy8gICB9XG4gIC8vIH1cbn1cblxuLnBhZ2UtdG8tcGFnZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjI3LjQ1ZGVnLCAjNkI3Qzc4IC0wLjA3JSwgIzUyNDcxRSA5MiUpO1xuICB6LWluZGV4OiAxMjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcblxuICAmLmFjdGl2ZSB7XG4gICAgLy8gcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDEwNnB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLnJvdyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcbiAgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogJGxpZ2h0LWNyZWFtO1xuICB9XG59XG5cbi5hYm91dC1ldmVudHMsXG4uYWJvdXQtdGVhbSB7XG4gIC5wYXR0ZXJuIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxufVxuXG4uY2FyZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGdvbGQsIDAuMik7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIHotaW5kZXg6IDI7XG5cbiAgJi5wLTEge1xuICAgIHBhZGRpbmc6IDQuMzc1MDAwMDAwMDAwMDAwMDAwMDByZW0gJGdyZW07XG4gIH1cblxuICAmLnAtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JlbSAqIDEuMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JlbSAqIDEuMjtcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoNDBweCwgMy43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMy43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDQwcHgsIDMuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDMuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuXG4gICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBwKy5idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAmLnAtMiB7XG4gICAgICBwYWRkaW5nOiA1MHB4ICRncmVtICogNC41O1xuXG4gICAgICAuaWNvbi1saWdhdHVyZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5wLTEge1xuICAgICAgcGFkZGluZzogNzBweCAkZ3JlbSAqIDI7XG4gICAgfVxuXG4gICAgcCsuYnRuIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbi5pbWFnZS1hbmQtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAuY2FyZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiAtNjBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4Ym94LCBjZW50ZXIsIGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICBwaWN0dXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDc3Ljk1dmg7XG4gICAgbWF4LWhlaWdodDogNzUwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5jYXJkLnAtMSB7XG4gICAgcGFkZGluZzogMy40N3Z3ICRnYztcbiAgfVxuXG5cbiAgLy8gLmNhcmQsXG4gIC8vIFtjbGFzc149Zy1dIHtcbiAgLy8gICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleCwgY2VudGVyLCBjZW50ZXIpO1xuICAvLyAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gIC8vIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBwaWN0dXJlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1OC41OXZ3O1xuICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmNhcmQge1xuICAgICAgd2lkdGg6ICRnYyAqIDg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgcGljdHVyZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTEuMTV2dztcbiAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICB3aWR0aDogJGdjICogMjI7XG5cbiAgICAgICYucC0xIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByZXNzLWhlcm8sXG4ucG9zdC1wb3J0Zm9saW8taGVybyxcbi5jYXJlZXJzLWN0YSxcbi5jYXJlZXJzLWN0YSBbY2xhc3NePWctXSxcbi50ZWFtLWhlcm8sXG4ucG9zdC1wcmVzcy1oZXJvLFxuLnBvcnRmb2xpby1oZXJvLFxuLnRlYW0taGVybyBbY2xhc3NePWctXSxcbi5hYm91dC10ZWFtIFtjbGFzc149Zy1dLFxuLmltYWdlLWFuZC1jYXJkIC5yb3csXG4uaW1hZ2UtYW5kLWNhcmQgW2NsYXNzXj1nLV0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbnN0YWdyYW0tY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICB9XG5cbiAgLmJ0bi5yZWd1bGFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaXRlbS1pbnN0YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmVtO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5pbGx1c3RyYXRpb24taW5zdGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yJTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogLSRnYztcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBpbWcge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxuXG4gIC5ob3Jpem9udGFsLWltYWdlLXNjcm9sbGVyIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBncmFiO1xuICAgIH1cbiAgfVxuXG4gIC5pbm5lci13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmVtO1xuICB9XG5cbiAgLmJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMztcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgZmxleGJveCgpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5idG4ge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC8vIC5nYy01IHtcbiAgICAvLyAgIHdpZHRoOiAkZ2MgKiAxNztcbiAgICAvLyB9XG5cbiAgICAvLyAuZ2MtNCB7XG4gICAgLy8gICB3aWR0aDogJGdjICogMTI7XG4gICAgLy8gfVxuXG4gICAgLy8gLmdjLTMge1xuICAgIC8vICAgd2lkdGg6ICRnYyAqIDE0O1xuICAgIC8vIH1cblxuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDY1cHgsICRncmVtICogNC4wNywgJGdyZW0gKiA0LjA3KTtcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIG1hcmdpbjogYXV0byBhdXRvIDA7XG4gICAgfVxuICB9XG59XG5cbi5wb3N0LXBvcnRmb2xpby1oZXJvLFxuLnBvcnRmb2xpby1oZXJvLFxuLnBvc3QtcHJlc3MtaGVybyxcbi50ZWFtLWhlcm8ge1xuICBbY2xhc3NePWctXSB7XG4gICAgei1pbmRleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuYy0xMjAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuLnBvc3QtcHJlc3MtaGVybyxcbi50ZWFtLWhlcm8ge1xuICBiYWNrZ3JvdW5kOiAkZGFyaztcbn1cblxuLmJhY2tncm91bmQtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3BhY2l0eTogMC42O1xuICB6LWluZGV4OiAwO1xuXG4gIGltZyB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5zdWItcGFnZS1oZXJvIHtcblxuICBoMSxcbiAgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAmI2V2ZW50cy1oZXJvIC5pY29uLWlsbHVzdHJhdGlvbi1waW5lLWNvbmUtZXZlbnRzIHtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIFtjbGFzc149Zy1dIHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDE0O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxMDBweCwgNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEyMHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcblxuICAgICYjZXZlbnRzLWhlcm8gLmljb24taWxsdXN0cmF0aW9uLXBpbmUtY29uZS1ldmVudHMge1xuICAgICAgdG9wOiBjbGFtcCgtNzVweCwgLTcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIC03LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgIGxlZnQ6ICRncmVtICogMTUuNTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgJiNldmVudHMtaGVybyAuaWNvbi1pbGx1c3RyYXRpb24tcGluZS1jb25lLWV2ZW50cyB7XG4gICAgICB0b3A6IC0kZ3JlbSAqIDQ7XG4gICAgICB3aWR0aDogJGdyZW0gKiAzMDtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA1NzdweCkge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxNTBweCwgMzEuMjgyMDUxMjgyMDUxMjgyMDUxMjh2dywgMzEuMjgyMDUxMjgyMDUxMjgyMDUxMjh2dyk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMTUwcHgsIDUxLjI4MjA1MTI4MjA1MTI4MjA1MTI4dncsIDUxLjI4MjA1MTI4MjA1MTI4MjA1MTI4dncpO1xuICB9XG59XG5cbi5wYWdlLWVycm9yLXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MHZoO1xuXG4gIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuXG4vLyBQYWRkaW5nIEJvdHRvbSAxNjBcbi50cnVzdGVkLWJ5LFxuLmhvbWUtaGVybyxcbi5jb3JlLXZhbHVlcyxcbi5hYm91dC1oZXJvIHtcbiAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCAxMC4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTgwcHgpO1xufVxuXG4uc3ViLXRlYW0tbGlzdCxcbi5pbnN0YWdyYW0tY3RhIHtcbiAgcGFkZGluZy10b3A6IGNsYW1wKDgwcHgsIDcuNTByZW0sIDEyMHB4KTtcbn1cblxuLnBvcnRmb2xpby1nYWxsZXJ5LWltYWdlcyB7XG4gIHBhZGRpbmctYm90dG9tOiBjbGFtcCg4MHB4LCA4LjMzdncsIDE0MHB4KSAvLyAxMjBcbn1cblxuLy8gUGFkZGluZyBCb3R0b20gMTYwXG4uY2FyZWVycy12YWx1ZXMsXG4ubG9hZC1tb3JlLXNlY3Rpb24sXG4ucG9ydGZvbGlvLXJlbGF0ZWQsXG4uZXZlbnRzLXJlbGF0ZWQsXG4uZXZlbnRzLXJlbGF0ZWQsXG4udGVhbS1saXN0LXNlY3Rpb24sXG4uY29yZS12YWx1ZXMsXG4uY29yZS12YWx1ZXMge1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTAwcHgsIDEwLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxODBweCk7XG59XG5cbi8vIE1hcmdpbiBCb3R0b20gMTYwXG4vLyAuY2FyZWVycy1jdGEsXG4vLyAuaW5zdGFncmFtLWN0YSAuaG9yaXpvbnRhbC1pbWFnZS1zY3JvbGxlciB7XG4uaW5zdGFncmFtLWN0YSB7XG4gIG1hcmdpbi1ib3R0b206IGNsYW1wKDgwcHgsIDguMzMzdncsIDEwMHB4KTtcbn1cblxuLy8gUGFkZGluZyBCb3R0b20gYW5kIFRvcCAxNjBcbi5jb250YWN0LWhlcm8sXG4uZG9uYXRlLWhlcm8sXG4uaWNvbi1hbmQtY29weSB7XG4gIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxMDBweCwgMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDE4MHB4KTtcbn1cblxuLmhhbGYtdGFuLFxuLmFib3V0LWV2ZW50cyAucm93OmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogNzRweDtcbiAgcGFkZGluZy1ib3R0b206IDc0cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmhvbWUtaGVybyB7XG4gICAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCA1LjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCA1LjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgfVxufVxuXG4vLyBFbmQgMTAyNSBNaW5cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICBodG1sIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4vLyAgIGJvZHkge1xuLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLyAgIH1cbi8vIH1cblxuLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbi8vICAgYm9keSB7XG4vLyAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4vLyAgIH1cbi8vIH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5ob21lLWhlcm8ge1xuICAgIC8vIHBhZGRpbmctdG9wOiBjbGFtcCgxMjBweCwgNS42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNS42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cbn1cblxuLy8gRW5kIDEwMjQgbWF4IGFuZCA3NjkgTWluXG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuXG4gIC5wb3N0LWV2ZW50cy1yZWxhdGVkLXNlY3Rpb24sXG4gIC5wb3N0LXByZXNzLXJlbGF0ZWQtc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCA3LjUwMHJlbSwgMTQwcHgpOyAvLyAxMjBcbiAgfVxuXG4gIC8vIC5hYm91dC1oZXJvIHtcbiAgLy8gICBwYWRkaW5nLXRvcDogY2xhbXAoMTAwcHgsIDcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0pOyAvLyAxMjBcbiAgLy8gfVxuXG4gIC8vIC5hYm91dC1oZXJvIHtcbiAgLy8gICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTAwcHgsIDEwLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMC4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gIC8vIH1cblxuICAucG9ydGZvbGlvLWhlcm8ge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxMjBweCwgMTUuNjI1MHJlbSwgMjAwcHgpOyAvLyAyNTAgIFxuICB9XG5cbiAgLnRlYW0taGVybyB7XG4gICAgcGFkZGluZy10b3A6IGNsYW1wKDEyMHB4LCAxNS42MjUwcmVtLCAyODBweCk7IC8vIDI1MFxuICB9XG5cbiAgLy8gLmNhcmVlcnMtY3RhIHtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxMDBweCwgMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEwLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgLy8gfVxuXG4gIC5wb3J0Zm9saW8taW50cm9kdWN0aW9uIHtcbiAgICAvLyBwYWRkaW5nLXRvcDogY2xhbXAoODBweCwgOC43NXJlbSwgMTYwcHgpOyAvLyAxNDBcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMTAwcHgsIDUuNTZ2dywgMTIwcHgpOyAvLyA4MFxuICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxMDBweCwgNS41NnZ3LCAxMjBweCk7IC8vIDgwXG4gIH1cblxuICAuY29udGFjdC1jdGEsXG4gIC8vIC5jb250YWN0LWN0YSAuZy01LFxuICAuaWNvbi1hbmQtY29weSB7XG4gICAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCAxMHJlbSwgMTIwcHgpO1xuICB9XG5cbiAgLy8gLmhhbGYtdGFuLnJpZ2h0OjpiZWZvcmUge1xuICAvLyAgIGxlZnQ6IDUwJTtcbiAgLy8gfVxuXG4gIC8vIC5oYWxmLXRhbi5sZWZ0OjpiZWZvcmUge1xuICAvLyAgIGxlZnQ6IDA7XG4gIC8vIH1cblxuICAuYWJvdXQtZXZlbnRzIC5iZy1jcmVhbS1iZWZvcmU6OmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5oYWxmLXRhbixcbiAgLmFib3V0LWV2ZW50cyB7XG4gICAgLmJnLWNyZWFtLWJlZm9yZSxcbiAgICAuYmctZGFyay1iZWZvcmUsXG4gICAgLmJnLXNhbmQtYmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAuaGFsZi10YW4uYmctY3JlYW0tYmVmb3JlLFxuICAuYWJvdXQtZXZlbnRzIC5iZy1jcmVhbS1iZWZvcmUge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNGM0VFRTM7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaGFsZi10YW4uYmctZGFyay1iZWZvcmUsXG4gIC5hYm91dC10ZWFtIC5iZy1kYXJrLWJlZm9yZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICM0MTNEMzI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5oYWxmLXRhbi5iZy1zYW5kLWJlZm9yZSxcbiAgLmFib3V0LXRlYW0gLmJnLXNhbmQtYmVmb3JlIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzhBNzk1RTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vIEVuZCBNaW4gNzY5XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXG4gIC8vIC5jb250YWN0LWN0YSAuZy01LFxuICAvLyAuY2FyZWVycy1jdGEgLmctNSB7XG4gIC8vICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCAxMC4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAvLyB9XG5cbiAgLy8gLmNvbnRhY3QtY3RhIC5nLTUge1xuICAvLyAgIHBhZGRpbmctdG9wOiBjbGFtcCgxMDBweCwgMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEwLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgLy8gfVxuXG4gIC8vIC5jb250YWN0LWN0YSB7XG4gIC8vICAgcGFkZGluZy10b3A6IGNsYW1wKDQwcHgsIDIuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDIuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAvLyB9XG5cbiAgLnBvcnRmb2xpby1pbnRyb2R1Y3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxMDBweCwgMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEwLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTAwcHgsIDEwLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMC4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gIH1cbn1cblxuLy8gRW5kIDc4NiBNYXgiLCIuYndzLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogIzQxM0QzMjtcbiAgICBjb2xvcjogJGxpZ2h0LWNyZWFtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmljb24tYXJyb3cgcGF0aCB7XG4gICAgICBmaWxsOiAjNDEzRDMyICFpbXBvcnRhbnQ7XG4gICAgICBzdHJva2U6ICM0MTNEMzIgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAueHhzLXNtYWxsLFxuICAgIC5mb290ZXItbmF2LXJlZ3VsYXIgYSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgfVxuXG4gICAgLnNvY2lhbC1saXN0LWxhcmdlIGxpIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgIC5nLTYsXG4gICAgLmZvcm0tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGdyZW07XG4gICAgfVxuXG4gICAgLmZvb3Rlci1uYXYtcmVndWxhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogNTZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTsgXG4gICAgICAgIHdpZHRoOiAxMDAlOyAgICAgICBcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTJweCwgLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0pOyAvLyAxMlxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTAwMDAwMDAwMDAwMDAwMDAwMDA7IC8vIDE4XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHN3LXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmctMTIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleCwgIGZsZXgtc3RhcnQsICBzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgICB9XG5cbiAgICAuaW5saW5lLWxpbmsubGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgMnB4LCAkbGlnaHQtY3JlYW0gMCwgJGxpZ2h0LWNyZWFtIDNweCwgdHJhbnNwYXJlbnQgMCksXG4gICAgICAgICAgLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCAzcHgsIHRyYW5zcGFyZW50IDApO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgMnB4LCAkbGlnaHQtY3JlYW0gMnB4LCAkbGlnaHQtY3JlYW0gM3B4LCB0cmFuc3BhcmVudCAzcHgpLFxuICAgICAgICAgIC1vLWxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAycHgsIHRyYW5zcGFyZW50IDJweCwgdHJhbnNwYXJlbnQgM3B4LCB0cmFuc3BhcmVudCAzcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgMnB4LCAkbGlnaHQtY3JlYW0gMCwgJGxpZ2h0LWNyZWFtIDNweCwgdHJhbnNwYXJlbnQgMCksXG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDJweCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQgM3B4LCB0cmFuc3BhcmVudCAwKTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRsaWdodC1jcmVhbTtcbiAgICB9XG5cbiAgICAuYnM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMTA1JSkpO1xuICAgIH1cblxuICAgIFtjbGFzc149Zy1dOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgW2NsYXNzXj1nLV06bGFzdC1vZi10eXBlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC54eHMtc21hbGwgKyBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAueHMtc21hbGwge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR2cy1yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyLWxvZ28ge1xuICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBhZGRyZXNzICsgLmNvcHlyaWdodCxcbiAgICAuZm9vdGVyLWxvZ28tbGluayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDQwcHgsIDQuMzc1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDQuMzc1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIH1cblxuICAgIGFkZHJlc3Mge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7ICAgICAgICBcbiAgICB9XG5cbiAgICBhZGRyZXNzLFxuICAgIC5pbmxpbmUtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgMXJlbSwgMXJlbSk7IC8vIDE2XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTAwMDAwMDAwMDAwMDAwMDAwOyAvLyAxOFxuICAgICAgICBmb250LWZhbWlseTogJHZzLXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuY29weXJpZ2h0IGxpLFxuICAgIC5jb3B5cmlnaHQgbGkgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTJweCwgLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0pOyAvLyAxMlxuICAgICAgICBsaW5lLWhlaWdodDogY2xhbXAoMTZweCwgMXJlbSwgMXJlbSk7IC8vIDE2XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc3ctcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBtYXJnaW4tdG9wOiBjbGFtcCg0MHB4LCA0LjM3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCA0LjM3NTAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICBsaSArIGxpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZy0xOCAuc29jaWFsLWxpc3QtbGFyZ2UsXG4gICAgLnNvY2lhbC1saXN0LWxhcmdlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQge1xuICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgIH1cblxuICAgIC5mb290ZXItbG9nby1saW5rIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuZm9ybS1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLmZvb3Rlci1uYXYtcmVndWxhciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJpZ2h0IC5mb3JtLXJvdyBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZm9ybS1jb250YWluZXIgLnN1Ym1pdC13cmFwcGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAvLyAuZy02IHtcbiAgICAgIC8vICAgd2lkdGg6ICRncmVtICogNjtcbiAgICAgIC8vIH1cblxuICAgICAgLy8gLmctMTgge1xuICAgICAgLy8gICB3aWR0aDogJGdyZW0gKiAxODtcbiAgICAgIC8vIH1cblxuICAgICAgPi5yb3cgLmctNjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgICB9XG5cbiAgICAgIC5saW5rLmJzIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAuZm9ybS1yZXNwb25zZSAuaW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIH1cblxuICAgICAgLmZvb3Rlci1uYXYtcmVndWxhcixcbiAgICAgID4ucm93IC5nLTY6Zmlyc3Qtb2YtdHlwZSxcbiAgICAgIFtjbGFzc149Zy1dOmxhc3Qtb2YtdHlwZSAuZy02LFxuICAgICAgLmZvcm0tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDYwcHgsIDMuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDMuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNjBweCwgMy43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMy43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICB9XG5cbiAgICAgIFtjbGFzc149Zy1dOmxhc3Qtb2YtdHlwZSAueHhzLXNtYWxsIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDQwcHgsIDMuMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDMuMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgfVxuXG4gICAgICBbY2xhc3NePWctXTpsYXN0LW9mLXR5cGUgLnRvcCxcbiAgICAgIC5mb290ZXItbmF2LXJlZ3VsYXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNjBweCwgMy43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMy43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICB9XG5cbiAgICAgIC5mb290ZXItbmF2LXJlZ3VsYXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICB9XG5cbiAgICAgIC5nLTE4IC5zb2NpYWwtbGlzdC1sYXJnZSxcbiAgICAgIC5zb2NpYWwtbGlzdC1sYXJnZSB7XG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgd2lkdGg6ICRnYyAqIDQ7XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICB3aWR0aDogJGdjICogNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvb3Rlci1uYXYtcmVndWxhcjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycHgpO1xuICAgICAgfVxuXG4gICAgICAuZm9vdGVyLW5hdi1yZWd1bGFyLFxuICAgICAgLnNvY2lhbC1saXN0LWxhcmdlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvb3Rlci1uYXYtcmVndWxhcixcbiAgICAgIC5zb2NpYWwtbGlzdC1sYXJnZSxcbiAgICAgIC5yaWdodCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLmZvb3Rlci1uYXYtcmVndWxhcjo6YmVmb3JlLFxuICAgICAgLnNvY2lhbC1saXN0LWxhcmdlOjphZnRlcixcbiAgICAgIC5zb2NpYWwtbGlzdC1sYXJnZTo6YmVmb3JlLFxuICAgICAgLnJpZ2h0OjpiZWZvcmUsXG4gICAgICAucmlnaHQ6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkbGlnaHQtY3JlYW0sIDAuMTUpO1xuICAgICAgfVxuXG4gICAgICAuc29jaWFsLWxpc3QtbGFyZ2U6OmJlZm9yZSxcbiAgICAgIC5yaWdodDo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuc29jaWFsLWxpc3QtbGFyZ2U6OmJlZm9yZSxcbiAgICAgIC5zb2NpYWwtbGlzdC1sYXJnZTo6YWZ0ZXIsXG4gICAgICAucmlnaHQ6OmJlZm9yZSxcbiAgICAgIC5yaWdodDo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAkZ3JlbSAqIDEyO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9IC8vIEVuZCA3NjkgRW5kXG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5yaWdodCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICAuZy02IHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC5yaWdodCAuZy02IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC54eHMtc21hbGwge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvcm0tY29udGFpbmVyIC5zdWJtaXQtd3JhcHBlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICB9XG5cbiAgICAgIC5zb2NpYWwtbGlzdC1sYXJnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGxpZ2h0LWNyZWFtLCAwLjE1KTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICB3aWR0aDogJGdjICogODtcbiAgICAgIFxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgfVxuICAgICAgXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTI2cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5icy1ieSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgIH1cblxuICAgICAgLmctNjpmaXJzdC1vZi10eXBlLFxuICAgICAgLnJpZ2h0IC5nLTYsXG4gICAgICAuZm9ybS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIH1cblxuICAgICAgLnJpZ2h0IC5nLTYsXG4gICAgICAuZm9ybS1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLmZvcm0tY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGxpZ2h0LWNyZWFtLCAwLjE1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIH1cblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgIHdpZHRoOiAkZ3JlbSAqIDE3O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAuZm9vdGVyLW5hdi1yZWd1bGFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGxpZ2h0LWNyZWFtLCAwLjE1KTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWRkcmVzcyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAuYnMtYnkge1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0vLyBFbmQgNzY4IE1heFxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgIC5mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgIC5mb290ZXItbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIH1cbiAgICB9XG59XG5cbi5zb2NpYWwtbGlzdC1sYXJnZSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4Ym94LCBjZW50ZXIsICBzcGFjZS1hcm91bmQpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcChub3dyYXApO1xuXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGlubGluZS1mbGV4LCBjZW50ZXIsIGNlbnRlcik7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQ7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDEwNCUpKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigzNTBtcyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLW9mLXR5cGUoMik6OmJlZm9yZSxcbiAgICAgICAgJjpudGgtb2YtdHlwZSgzKTo6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGxpZ2h0LWNyZWFtLCAwLjE1KTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaW5zdGFncmFtIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubGlua2VkaW4gc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5lbWFpbCBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBsaW5lLWhlaWdodDogMi4yO1xuICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgxNnB4LCAxcmVtLCAxcmVtKTtcbn1cblxuLmJzLWJ5IHtcbiAgICBjb2xvcjogJGxpZ2h0LWNyZWFtO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTBweCwgLjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAuNjI1MDAwMDAwMDAwMDAwMDAwMDByZW0pOyAvLyAxMFxuICAgIGZvbnQtZmFtaWx5OiAkc3ctcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjtcblxuICBhIHtcbiAgICBjb2xvcjogJGxpZ2h0LWNyZWFtO1xuICB9XG59XG5cbi5icyBzcGFuIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB6LWluZGV4OiAyO1xufVxuXG4uYnMtbG9nbyB7XG4gIHdpZHRoOiAyLjdlbTtcbiAgaGVpZ2h0OiAyLjdlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDRlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZykgc2NhbGUoMCk7XG59XG5cbi5icy1sb2dvIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG5cbiAgcGF0aCB7XG4gICAgZmlsbDogJGxpZ2h0LWNyZWFtO1xuICB9XG59XG5cbi5idXp6LWNvbCB7XG4gIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4Ym94LCBmbGV4LWVuZCwgZmxleC1lbmQpO1xuXG4gIC5icy1ieSB7XG4gICAgdG9wOiAtNjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5iczpob3ZlciAubGFiZWwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTAlKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmJzOmhvdmVyIC5icy1sb2dvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xuICB9XG59IC8vIEVuZCAxMDI1IE1pblxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgZm9vdGVyIHtcbiAgICBpbnB1dCB7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICB9XG5cbiAgICBpbnB1dCxcbiAgICAuc3VibWl0LXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAuc3VibWl0LXdyYXBwZXIgLmljb24tYXJyb3cge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAuc29jaWFsLWxpc3QtbGFyZ2UgYSB7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDQwcHgsIDcuODc1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDcuODc1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICB9XG5cbiAgLmJzLWJ5IGEge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCg0MHB4LCAzLjQzNzUwMDAwMDAwMDAwMDAwMDAwcmVtLCAzLjQzNzUwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNDBweCwgMy40Mzc1MDAwMDAwMDAwMDAwMDAwMHJlbSwgMy40Mzc1MDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gIH1cbn0iLCJpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAgMThweDtcbiAgICBsaW5lLWhlaWdodDogMS40MDA7IC8vIDI4XG4gICAgZm9udC1mYW1pbHk6ICR2cy1yO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgkZGFyaywgMC41KTtcbn1cblxuc2VsZWN0IHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuI2NvbnRhY3QtcGFnZS1mb3JtLnJlZ3VsYXIge1xuXG4gICAgc2VsZWN0LFxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgIH1cblxuICAgIHNlbGVjdC5maXJzdC1jbGljayB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRkYXJrLCAwLjUpO1xuICAgIH1cbn1cblxuLy8gLy8gb3B0aW9uOmRpc2FibGVkLFxuLy8gb3B0aW9uOmRpc2FibGVkIHtcbi8vICAgICAvLyBiYWNrZ3JvdW5kOiByZWQ7XG4vLyAgICAgY29sb3I6IHJnYmEoJGRhcmssIDAuNSk7XG4vLyB9XG5cbi8vIG9wdGlvblt2YWx1ZT1cIlwiXSxcbi8vIG9wdGlvbltkaXNhYmxlZF1bc2VsZWN0ZWRdIHtcbi8vICAgICAvLyBvcGFjaXR5OiAwLjU7XG4vLyAgICAgLy8gYmFja2dyb3VuZDogcmVkO1xuLy8gICAgIGNvbG9yOiByZ2JhKCRkYXJrLCAwLjUpO1xuLy8gfVxuXG4vLyBzZWxlY3Q6aW52YWxpZCxcbi8vIHNlbGVjdCBvcHRpb25bdmFsdWU9XCJcIl0ge1xuLy8gICAgIGNvbG9yOiByZ2JhKCRkYXJrLCAwLjUpO1xuLy8gfVxuXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgbWluLWhlaWdodDogNjBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDAwMDAwMDAwMDAwMDAwMDAwMDA7IC8vIDI4XG4gICAgZm9udC1mYW1pbHk6ICR2cy1yO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiByZ2JhKCRkYXJrLCAwLjUpO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMTYwcHg7XG59XG5cbmxhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAuODc1MDAwMDAwMDAwMDAwMDAwMDByZW0pOyAvLyAxNFxuICAgIGxpbmUtaGVpZ2h0OiAxLjIwMDAwMDAwMDAwMDAwMDAwMDAwOyAvLyAxNi44XG4gICAgZm9udC1mYW1pbHk6ICRzdy1yO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5mb290ZXIge1xuICAgIGlucHV0W3R5cGU9ZW1haWxdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgfVxuXG4gICAgLnN1Ym1pdC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuXG4gICAgICAgIC8vIHN2ZyB7XG4gICAgICAgIC8vICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbig1MDBtcyBvcGFjaXR5ICRjdWJpYzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcgcGF0aCxcbiAgICAgICAgLmljb24tYXJyb3cgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAjNDEzRDMyO1xuICAgICAgICAgICAgc3Ryb2tlOiAjNDEzRDMyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgLnN1Ym1pdC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaW5saW5lLWZsZXgoKTtcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG59XG5cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gICAgLy8gYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWNyZWFtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgkZGFyaywgMC41KTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICRsaWdodC1jcmVhbSBpbnNldDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMDBzIGVhc2UtaW4tb3V0IDBzO1xufVxuXG4jY29udGFjdC1wYWdlLWZvcm0ge1xuXG4gICAgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbiAgICBpbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAgIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICAgdGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbCxcbiAgICB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAgIHRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICAgc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsXG4gICAgc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG4gICAgc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKCRkYXJrLCAwLjUpO1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICR3aGl0ZSBpbnNldDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwcztcbiAgICB9XG59XG5cbi5mb3JtLXJvdy5ncm91cCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDIwcHg7XG59XG5cbi5zdWJtaXQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLmljb24tYXJyb3cge1xuICAgICAgICB3aWR0aDogY2xhbXAoMzJweCwgMi4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMi4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGhlaWdodDogY2xhbXAoMTZweCwgMS4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLXJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcblxuICAgICYuc2hvdy1zdWJtaXQtYXJyb3cgLnN1Ym1pdC13cmFwcGVyIGkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLmZvcm0tcm93LnNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vYXNzZXRzL2ljb24tc2VsZWN0LWRhcmsuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbi5mb3JtLXJlc3BvbnNlIHtcbiAgICAvLyBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuc3VjY2VzcyxcbiAgICAuZmFpbGVkIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBmbGV4LXN0YXJ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN1Ym1pdC13cmFwcGVyLXJlZ3VsYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdyYWRpZW50LWdyZWVuLmxpZ2h0IC50ZXh0IHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuZ3JhZGllbnQtZ3JlZW4ge1xuICAgICAgICBjb2xvcjogIzI0MUYyMSAhaW1wb3J0YW50O1xuXG4gICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0M4QUE3QyAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyBwYXRoLFxuICAgICAgICAuaWNvbi1hcnJvdyBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICMyNDFGMjE7XG4gICAgICAgICAgICBzdHJva2U6ICMyNDFGMjE7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogIzI0MUYyMSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDUwMG1zIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAkZ3JlbTtcblxuICAgICYubGlnaHQtY3JlYW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjNFRUUzO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAuZm9ybS1yb3cge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZm9ybS1yb3cge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2NvbnRhY3QtcGFnZS1mb3JtLFxuI2RvbmF0ZS1wYWdlLWZvcm0sXG4jc3BvbnNvcnNoaXAtcGFnZS1mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nOiA2MHB4O1xuICAgIHdpZHRoOiA0MiU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgIGgyLCBoMywgaDQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5zdWJtaXQsXG4gICAgLnRleHRhcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuc3VibWl0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDUwJSkpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcblxuICAgICAgICAudGV4dGFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2NvbnRhY3QtcGFnZS1mb3JtIHtcbiAgICAuZm9ybS1yZXNwb25zZSB7XG5cbiAgICAgICAgLnN1Y2Nlc3MgLmlubmVyLFxuICAgICAgICAuZmFpbGVkIC5pbm5lciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1Y2Nlc3Mgc3ZnIHtcbiAgICAgICAgICAgIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkZ3JlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRncmVlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHNlbGVjdDpkaXNhYmxlZCB7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNSwgMjM1LCAyMjgpO1xuLy8gICAgIGNvbG9yOiByZ2IoODQsIDg0LCA4NCk7XG4vLyB9XG5cbi8vIHNlbGVjdCBvcHRpb246ZGlzYWJsZWQge1xuLy8gICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4vLyAgICAgb3BhY2l0eTogLjU7XG4vLyAgICAgYmFja2dyb3VuZDogcmVkO1xuLy8gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnN1Ym1pdC13cmFwcGVyLXJlZ3VsYXI6aG92ZXIge1xuICAgICAgICAuYnRuOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSwgMS4xNSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNrZXcoLTEwZGVnKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VibWl0LXdyYXBwZXItcmVndWxhciBpbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIsXG4gICAgLnN1Ym1pdC13cmFwcGVyIGlucHV0W3R5cGU9c3VibWl0XTpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBmb290ZXIgLnN1Ym1pdC13cmFwcGVyIGkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG5cbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICB0ZXh0YXJlYSxcbiAgICBzZWxlY3QsXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcihyZ2JhKCRkYXJrLCAwLjUpLCA0MDBtcyBhbGwgJGN1YmljLCAxOHB4LCAxLjQpO1xuICAgIH1cblxuICAgIHNlbGVjdCxcbiAgICBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICB9XG5cbiAgICBmb290ZXIgLmZvcm0tcmVzcG9uc2UgLmlubmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbi8vIGVuZCA3NjlcblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cbiAgICAjY29udGFjdC1wYWdlLWZvcm0gLmZvcm0tcmVzcG9uc2UsXG4gICAgZm9vdGVyIC5mb3JtLXJlc3BvbnNlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIHRleHRhcmVhLFxuICAgIHNlbGVjdCxcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIC8vIEBpbmNsdWRlIHBsYWNlaG9sZGVyKHJnYmEoJGRhcmssIDAuNSksIDQwMG1zIGFsbCAkY3ViaWMsIDE2cHgsIDEuNDAwMDAwMDAwMDAwMDAwMDAwMDApO1xuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcihyZ2JhKCRkYXJrLCAwLjUpLCA0MDBtcyBhbGwgJGN1YmljLCAxNnB4LCAyNHB4KTtcbiAgICB9XG5cbiAgICBzZWxlY3QsXG4gICAgaW5wdXQge1xuICAgICAgICBwYWRkaW5nOiAwICRncmVtO1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggJGdyZW07XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgc2VsZWN0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEsXG4gICAgc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuXG4vLyBFbmQgNzY4XG5cbmxhYmVsW2Zvcj1cInBkZi11cGxvYWRcIl0ge1xuICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcbn1cblxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ0Jyb3dzZSBmaWxlcyc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogNnB4IDE0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5jdXN0b20tZmlsZS1pbnB1dDpob3Zlcjo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IGJsYWNrO1xuICB9XG4gIC5jdXN0b20tZmlsZS1pbnB1dDphY3RpdmU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjZTNlM2UzLCAjZjlmOWY5KTtcbiAgfSIsIi5uby1wb2luZXItZXZlbnRzIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnBvcnRmb2xpby1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZGVza3RvcC1wb3J0Zm9saW8tc2xpZGVyIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuZGVza3RvcC1wb3J0Zm9saW8tc2xpZGVyIC5zbGlkZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHVzZXItZHJhZzogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICYuYWN0aXZlIHtcbiAgICAgICAgLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAuZGVza3RvcC1wb3J0Zm9saW8tc2xpZGVyLW1lbnUge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgkZ29sZCwgMC4yMCk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRnb2xkLCAwLjIwKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgkZ29sZCwgMC4yMCk7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogJGdjICogNS41ICRnYyAqIDUuNSAkZ2MgKiA1LjUgJGdjICogNS41O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoJGdvbGQsIDAuMjApO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGdvbGQsIDAuMjApO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDUwcHgsIDMuMzQzNzUwMDAwMDAwMDAwMDAwMDByZW0sIDMuMzQzNzUwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDUwcHgsIDMuMzQzNzUwMDAwMDAwMDAwMDAwMDByZW0sIDMuMzQzNzUwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjbGFtcCgzMHB4LCAxLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNsYW1wKDMwcHgsIDEuODc1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDEuODc1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIC5idG4ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDEuODc1MDAwMDAwMDAwMDAwMDAwMDByZW0gMzBweCAkZ3JlbTtcblxuICAgICAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHN3LW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnLmxvdHRpZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkZ3JlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdnMtcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG5cbiAgICAgICAgICAgICAgICAuY2lyY2xlLFxuICAgICAgICAgICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWSgxKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciAuY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC5jaXJjbGU6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4yKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTEwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggJGdyZW0gLyAyO1xuXG4gICAgICAgICAgICAgICAgICAgICYuY2lyY2xlLWFuZC1hcnJvdyAuY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjbGFtcCg1NHB4LCA0LjYyNXJlbSwgNC42MjVyZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjbGFtcCg1NHB4LCA0LjYyNXJlbSwgNC42MjVyZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNpcmNsZSxcbiAgICAgICAgcCxcbiAgICAgICAgcC54LWxhcmdlLFxuICAgICAgICAubGluZSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVkoMCkpO1xuICAgICAgICAgICAgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbig0MDBtcyBhbGwgJGN1YmljKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oNDUwbXMgb3BhY2l0eSAkY3ViaWMsIDQ1MG1zIHRyYW5zZm9ybSAkY3ViaWMpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuc2xpZGUtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuY2lyY2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwKSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSAuY2lyY2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwKSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb3VudCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41OyAvLyAxOFxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzdy1yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZpbml0ZS1wb3J0Zm9saW8ud3JhcHBlcixcbiAgICAucG9zdC1zbGlkZXIucG9ydGZvbGlvIC50aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAyNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAucG9zdC1zbGlkZXIucG9ydGZvbGlvIC5kb3RzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wb3J0Zm9saW8tc2VjdGlvbiB7XG5cbiAgICAudGl0bGVzIC50aXRsZSxcbiAgICAudGl0bGVzIC50aXRsZSBhIHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAubGFyZ2Utc2xpZGVyLmFycm93cyBzdmcge1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgIH1cbn1cblxuLmluZmluaXRlLXBvcnRmb2xpby53cmFwcGVyLFxuLmRlc2t0b3AtcG9ydGZvbGlvLXNsaWRlcixcbi5wb3N0LXNsaWRlci5wb3J0Zm9saW8ge1xuICAgIC5jaXJjbGUge1xuICAgICAgICB3aWR0aDogY2xhbXAoNzRweCwgNC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGhlaWdodDogY2xhbXAoNzRweCwgNC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgLy8gQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDApKTtcbiAgICAgICAgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbig0MDBtcyBhbGwgJGN1YmljKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbig0NTBtcyB0cmFuc2Zvcm0gJGN1YmljMilcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG59XG5cbi5kZXNrdG9wLXBvcnRmb2xpby1zbGlkZXIge1xuICAgIC5idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEycHgsIC43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTsgLy8gMTJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjUwMDAwMDAwMDAwMDAwMDAwMDAwOyAvLyAxOFxuICAgICAgICB9XG5cbiAgICAgICAgLmNpcmNsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wb3J0Zm9saW8tc2VjdGlvbiAuZGVza3RvcC1wb3J0Zm9saW8tc2xpZGVyIHtcbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MS4wNjI1MDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICB9XG5cbiAgICAubW91c2UtY2lyY2xlIC5pY29uLWFycm93IHBhdGgge1xuICAgICAgICBmaWxsOiAkZ3JlZW47XG4gICAgfVxufVxuXG4ubGFyZ2Utc2xpZGVyLmFycm93cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMjAwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5hcnJvdyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnByZXYge1xuICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbig0MDBtcyB0cmFuc2Zvcm0gJGN1YmljKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pcy1ncmFiYmluZyB7XG4gICAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuYm9keS5wYWdlLXBvcnRmb2xpbyxcbmJvZHkucGFnZS10aGUtY29sbGVjdGlvbiB7XG4gICAgLmxpc3QtcG9ydGZvbGlvLXBvc3RzIC5pY29uIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbn1cblxuLnBvcnRmb2xpby1pbnRyb2R1Y3Rpb24ge1xuICAgIC5pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAvLyBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmljb24uaWNvbi10eXBlLXdpZGUgaW1nLFxuICAgIC5pY29uLmljb24tdHlwZS1zcXVhcmUgaW1nLFxuICAgIC5pY29uLmljb24tdHlwZS1zcXVhcmUtYmlnIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5pY29uLmljb24tdHlwZS13aWRlIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgfVxuXG4gICAgLmljb24uaWNvbi10eXBlLXNxdWFyZSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDcycHg7XG4gICAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB9XG5cbiAgICAuaWNvbi5pY29uLXR5cGUtc3F1YXJlLWJpZyBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5pY29uLmljb24tdHlwZS13aWRlIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGlzdC1wb3J0Zm9saW8tcG9zdHMsXG4ucG9zdC1zbGlkZXIucG9ydGZvbGlvIHtcbiAgICAuaWNvbi5pY29uLXR5cGUtd2lkZSBpbWcge1xuICAgICAgICB3aWR0aDogJGdjICogNztcbiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB9XG5cbiAgICAuaWNvbi5pY29uLXR5cGUtc3F1YXJlIGltZyB7XG4gICAgICAgIHdpZHRoOiA5LjAzdnc7XG4gICAgICAgIG1heC13aWR0aDogNzJweDtcbiAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgIH1cblxuICAgIC5pY29uLmljb24tdHlwZS1zcXVhcmUtYmlnIGltZyB7XG4gICAgICAgIHdpZHRoOiA5LjAzdnc7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB9XG59XG5cbi5pbmZpbml0ZS1wb3J0Zm9saW8ud3JhcHBlcixcbi5saXN0LXBvcnRmb2xpby1wb3N0cyxcbi5wb3N0LXNsaWRlci5wb3J0Zm9saW8ge1xuICAgIC5pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oNDAwbXMgb3BhY2l0eSAkY3ViaWMyKTtcbiAgICB9XG59XG5cbi5pbmZpbml0ZS10aXRsZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvLyBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW46IC03MHB4IGF1dG8gMDtcbiAgICAgICAgcGFkZGluZzogMzBweCAzMHB4IDQwcHg7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtM3B4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0M4QUE3QztcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuICAgIGxpIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiU3dlZXRTYW5zUHJvLU1lZGl1bVwiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAyNXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAkZ2MgKiAyMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmluZmluaXRlLXBvcnRmb2xpby53cmFwcGVyIHtcbiAgICAvLyBoZWlnaHQ6IDIwJTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgLy8gYmFja2dyb3VuZDogIzU1NTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuc2xpZGUge1xuICAgICAgICAvLyB3aWR0aDogMTAwdnc7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcblxuICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAucG9zdC1zbGlkZXIucG9ydGZvbGlvIHtcbi5pbmZpbml0ZS1wb3J0Zm9saW8ud3JhcHBlciB7XG4gICAgXG4gICAgLy8gLmlubmVyLXdyYXBwZXIge1xuICAgIC8vIG1hcmdpbi1sZWZ0OiAkZ2MgKiA1O1xuICAgIC8vIH1cblxuICAgIC8vIHRvcDogY2xhbXAoMzAwcHgsIDg2LjUlLCA2MHZoKTtcblxuICAgIC5zbGlkZSB7XG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogJGdjO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6ICRnYyAqIDkuNTtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAkZ2MgKiA3LjU7XG4gICAgICAgIG1hcmdpbjogLTcwcHggYXV0byAwO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggMzVweDtcbiAgICB9XG5cbiAgICAud3JhcCB7XG4gICAgICAgIC8vIHdpZHRoOiAxMDB2dztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5hYnNvbHV0ZS1saW5rIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAucG9ydGZvbGlvLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTQuNCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41MDsgLy8gMThcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIHBhZGRpbmc6IDQwcHggMDtcbiAgICAgICAgLy8gd2lkdGg6ICRnYyAqIDIwO1xuICAgIH1cblxuICAgIC5hcnJvd3Mge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAuYXJyb3c6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcblxuICAgICAgICAvLyAuc2xpZGU6aG92ZXIge1xuICAgICAgICAuYWJzb2x1dGUtbGluazpob3ZlciB7XG4gICAgICAgICAgICArLmljb24gaW1nIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICArLmljb24rLnBvcnRmb2xpby1pbWFnZSBpbWcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAtIDQxNXB4IC0gODQwcHgpO1xuICAgICAgICAvLyBtYXJnaW4tbGVmdDogJGdjICogNTtcblxuICAgICAgICAuc2xpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDg0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWJzb2x1dGUtbGluayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb3RzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLy8gbGVmdDogJGdjO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRnYyAqIDIxO1xuICAgICAgICAvLyBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGRpdi5zbGlkZSB7XG4gICAgICAgICAgICB3aWR0aDogJGdjICogMjI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnYyAvIDI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2MgLyAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgd2lkdGg6ICRnYyAqIDIxO1xuICAgICAgICAgICAgbGVmdDogJGdjIC8gMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hYnNvbHV0ZS1saW5rIHtcbiAgICAgICAgICAgIHdpZHRoOiAkZ2MgKiAyMTtcbiAgICAgICAgICAgIGxlZnQ6ICRnYyAvIDI7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogJGdjICogMjI7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGdjICogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3J0Zm9saW8taW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlcyBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucG9ydGZvbGlvLmluZmluaXRlIC5sYXJnZS1zbGlkZXIuYXJyb3dzIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC5hcnJvdyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgICAgICAgJi5uby1wb2ludGVyLWV2ZW50cyB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLnBvcnRmb2xpby1zZWN0aW9uIC5tb3VzZS1jaXJjbGUge1xuLm1vdXNlLWNpcmNsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDAlO1xuICAgIGxlZnQ6IDAlO1xuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMCkpO1xuXG4gICAgLm91dGxpbmUge1xuICAgICAgICB3aWR0aDogY2xhbXAoNjJweCwgNi4zNzUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNi4zNzUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGhlaWdodDogY2xhbXAoNjJweCwgNi4zNzUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNi4zNzUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmLmxpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMTBweCAzMHB4IHJnYmEoMjcsIDI5LCAzNiwgMC4xKTtcblxuICAgICAgICAub3V0bGluZSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtY3JlYW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxpZ2h0LWNyZWFtIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgIH1cblxuICAgICYuc2l6ZS1zbWFsbCB7XG4gICAgICAgIHdpZHRoOiBjbGFtcCg4MHB4LCA1LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA1LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgaGVpZ2h0OiBjbGFtcCg4MHB4LCA1LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA1LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICB9XG5cbiAgICAmLnNpemUtcmVndWxhciB7XG4gICAgICAgIHdpZHRoOiBjbGFtcCg4MHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgaGVpZ2h0OiBjbGFtcCg4MHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICB9XG5cbiAgICAuaWNvbi1hcnJvdyB7XG4gICAgICAgIHdpZHRoOiBjbGFtcCgzMnB4LCAyLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAyLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgaGVpZ2h0OiBjbGFtcCgxNHB4LCAuODc1MDAwMDAwMDAwMDAwMDAwMDByZW0sIC44NzUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgfVxuXG4gICAgLmljb24tcGx1cy1tb3VzZS1iYWxsIHtcbiAgICAgICAgd2lkdGg6IGNsYW1wKDIwcHgsIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICBoZWlnaHQ6IGNsYW1wKDIwcHgsIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIH1cblxuICAgIFtjbGFzc149aWNvbi1dIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbn1cblxuLnByZXNzLWhlcm8sXG4ubWVkaWEtYW5kLXByZXNzIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm1lZGlhLWFuZC1wcmVzcyB7XG4gICAgLnBvc3Qtc2xpZGVyIHtcbiAgICAgICAgLnNsaWRlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnYztcbiAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogJGdjO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGVzLFxuICAgIC50aXRsZXMge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRlcyBsaSxcbiAgICAudGl0bGVzIGxpIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuYWJzb2x1dGUtbGluayB7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgd2lkdGg6ICRncmVtICogOTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucG9zdC1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5zbGlkZSB7XG4gICAgICAgICAgICB3aWR0aDogJGdjICogMTA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC5pbm5lci13cmFwcGVyOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogZ3JhYjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb3RzIGE6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVkaWEtYW5kLXByZXNzIC5kb3RzIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuLmluZmluaXRlLXBvcnRmb2xpby1kb3RzLFxuLmV2ZW50cy1yZWxhdGVkIC5kb3RzLFxuLnBvcnRmb2xpby1yZWxhdGVkIC5kb3RzLFxuLm1lZGlhLWFuZC1wcmVzcyAuZG90cyxcbi5wb3N0LXNsaWRlciAuZG90cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW46IDAgMTJweDtcbiAgICB9XG5cbiAgICBsaSxcbiAgICBhIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgaW5saW5lLWZsZXgoKTtcbiAgICB9XG5cbiAgICBhOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JlZW4sIDAuMyk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbig0MDBtcyBhbGwgJGN1YmljKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuMzgpKTtcbiAgICB9XG5cbiAgICAuYWN0aXZlIGE6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAvLyBtYXJnaW4tbGVmdDogJGdyZW0gKiAzO1xuXG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgLy8gd2lkdGg6ICRncmVtICogMjA7XG4gICAgfVxufVxuXG4uaG9yaXpvbnRhbC1pbWFnZS1zY3JvbGxlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcChub3dyYXApO1xuICAgIH1cblxuICAgIHBpY3R1cmUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JlbTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxufVxuXG4vLyAuaW5maW50ZS1jYXJvdXNlbCB7XG4vLyAgICAgLy8gZGlzcGxheTogZmxleDtcbi8vICAgICAvLyB3aWR0aDogMTAwJTtcblxuLy8gICAgIC8vIGhlaWdodDogMjAlO1xuLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgIGJhY2tncm91bmQ6ICM1NTU7XG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4vLyAgICAgLnNsaWRlIHtcbi8vICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgfVxuXG4vLyAgICAgLnNsaWRlIHtcbi8vICAgICAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyAgICAgICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuLy8gICAgICAgICBoZWlnaHQ6IDgwJTtcbi8vICAgICAgICAgd2lkdGg6IDEwMCU7XG4vLyAgICAgICAgIG1hcmdpbjogMDtcbi8vICAgICAgICAgcGFkZGluZzogMDtcbi8vICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICBmbGV4LXNocmluazogMDtcbi8vICAgICAgICAgY29sb3I6IGJsYWNrO1xuLy8gICAgICAgICBmb250LXNpemU6IDIxcHg7XG4vLyAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbi8vICAgICB9XG4vLyB9XG5cbi5ob21lLWhlcm8gLmhvcml6b250YWwtaW1hZ2Utc2Nyb2xsZXIge1xuICAgIHBpY3R1cmUge1xuICAgICAgICB3aWR0aDogJGdyZW0gKiAxNTtcbiAgICB9XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdyZW07XG4gICAgICAgIC8vIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC00MHZ3KSk7XG4gICAgfVxufVxuXG4ubW9kYWwtb25lLFxuLm1vZGFsLW9uZSAuYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvLyB0b3A6IDA7XG59XG5cbi5tb2RhbC1vbmUge1xuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrLCAwLjcpO1xuICAgIH1cblxuICAgIC5jbG9zZS1tb2RhbCB7XG4gICAgICAgIC8vIHdpZHRoOiBjbGFtcCgzMHB4LCAkZ3JlbSwgJGdyZW0pO1xuICAgICAgICAvLyBoZWlnaHQ6IGNsYW1wKDMwcHgsICRncmVtLCAkZ3JlbSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgdG9wOiAkZ3JlbTtcbiAgICAgICAgcmlnaHQ6ICRncmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgICAuaWNvbi1kYXJrLWNsb3NlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjbGFtcCgxNXB4LCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogY2xhbXAoMTVweCwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLFxuICAgIC5jbG9zZS1tb2RhbCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAuY2xvc2UtbW9kYWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGNsYW1wKDMwcHgsICRncmVtLCAkZ3JlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNsYW1wKDMwcHgsICRncmVtLCAkZ3JlbSk7XG5cbiAgICAgICAgICAgIC5pY29uLWRhcmstY2xvc2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjbGFtcCgxNXB4LCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNsYW1wKDE1cHgsIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jbG9zZS1tb2RhbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcblxuICAgICAgICAgICAgLmljb24tZGFyay1jbG9zZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtb25lIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDExO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gICAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgLy8gdG9wOiAyNy4zMTk1ODc2Mjg5dmg7XG4gICAgICAgIHBhZGRpbmc6ICRncmVtIDA7XG4gICAgfVxufVxuXG4jdGVhbS1kZXRhaWwgLm1vZGFsLWNvbnRlbnQge1xuICAgIHNjcm9sbGJhci1jb2xvcjogJGdyZWVuO1xuXG4gICAgLyogd2lkdGggKi9cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgfVxuXG4gICAgLyogVHJhY2sgKi9cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG5cbiAgICAvKiBIYW5kbGUgKi9cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxufVxuXG4jdGVhbS1kZXRhaWwgLm1vZGFsLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIHBhZGRpbmctbGVmdDogJGdyZW07XG4gICAgLy8gcGFkZGluZy1yaWdodDogJGdyZW07XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgIC8vIGhlaWdodDogNzIuNjgwNDEyMzcxMTtcbiAgICAvLyBtYXgtaGVpZ2h0OiA3Mi42ODA0MTIzNzExdmg7XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgLmNvcHkge1xuICAgICAgICBjb2x1bW4tZ2FwOiAkZ3JlbTtcbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ3JlbTtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmNvcHkge1xuICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMztcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5jb3B5IHtcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcblxuICAgICNkcmFnLXNsaWRlcixcbiAgICAvLyAuY29yZS12YWx1ZXMgLnJvdyxcbiAgICAuY29yZS12YWx1ZXMgLnJvdyAuaGVhZGluZ3Mtd3JhcHBlcixcbiAgICAuZGVza3RvcC1wb3J0Zm9saW8tc2xpZGVyIC5pbm5lci13cmFwcGVyLFxuICAgIC5ldmVudHMtc2xpZGVyLXJlZ3VsYXIgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBjdXJzb3I6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5wb3J0Zm9saW8tcmVsYXRlZCB7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuXG4gICAgPi5yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICB1bC5sYXJnZS1zbGlkZXIuYXJyb3dzLmxpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgLmRvdHMuYmVsb3ctbWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmV2ZW50cy1zbGlkZXItcmVndWxhcixcbi5wb3J0Zm9saW8tc2xpZGVyLXJlZ3VsYXIge1xuICAgIC5pbm5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdjO1xuICAgIH1cblxuICAgICYubGlzdC1wb3J0Zm9saW8tcG9zdHMgLmltYWdlIHtcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCAyNi4zOXZ3LCAzMDBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxMDBweCwgMjAuMzl2dywgMzAwcHgpO1xuICAgIH1cblxuICAgICYubGlzdC1ldmVudHMtcG9zdHMsXG4gICAgJi5saXN0LXBvcnRmb2xpby1wb3N0cyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHJvdy1nYXA6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2M7XG4gICAgICAgIH1cblxuICAgICAgICBwaWN0dXJlLmltYWdlLFxuICAgICAgICAmLmxpc3QtZXZlbnRzLXBvc3RzIHBpY3R1cmUuaW1hZ2UsXG4gICAgICAgICYubGlzdC1wb3J0Zm9saW8tcG9zdHMgcGljdHVyZS5pbWFnZSB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMzAwcHgsIDI2LjM5dncsIDQwMHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgyNDBweCwgMjYuMzl2dywgNDAwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucG9ydGZvbGlvLXNsaWRlci1yZWd1bGFyIHtcbiAgICAuc2xpZGUge1xuICAgICAgICB3aWR0aDogJGdjICogNy42NztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA1NzdweCkge1xuICAgICAgICAuc2xpZGUucG9ydGZvbGlvLWl0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6ICRnYyAqIDExLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgLnNsaWRlLnBvcnRmb2xpby1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAkZ2MgKiAyMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmV2ZW50cy1jdGEge1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcblxuICAgIC5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG59XG5cbi5ldmVudHMtc2xpZGVyLXJlZ3VsYXIge1xuICAgIC5zbGlkZSB7XG4gICAgICAgIHdpZHRoOiAkZ2MgKiAxMDtcbiAgICB9XG5cbiAgICAuYWJzb2x1dGUtbGluayB7XG4gICAgICAgIGN1cnNvcjogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnNsaWRlLmV2ZW50cy1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAkZ2MgKiAyMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDU3N3B4KSB7XG4gICAgICAgIC5zbGlkZS5ldmVudHMtaXRlbSAuaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCA2MHZ3LCA0MDBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ldmVudHMtcmVsYXRlZCAubGFyZ2Utc2xpZGVyLmFycm93cy5saWdodCxcbi5wb3J0Zm9saW8tcmVsYXRlZCAubGFyZ2Utc2xpZGVyLmFycm93cy5saWdodCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMjBweDtcblxuICAgIEBpbmNsdWRlIGlubGluZS1mbGV4KCk7XG5cbiAgICAuYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgLy8gcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgaW5saW5lLWZsZXgoKTtcblxuICAgICAgICAmLm5leHQge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYucHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZXZlbnRzLWN0YSxcbi5ldmVudHMtcmVsYXRlZCB7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCA4LjMzdncsIDE0MHB4KTtcbn1cblxuLmV2ZW50cy1yZWxhdGVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNzAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdjO1xuICAgIH1cblxuICAgIC5kb3RzIHtcbiAgICAgICAgbWFyZ2luOiA2MHB4IGF1dG8gMDtcblxuICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdjcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmRvdHMge1xuICAgICAgICAgICAgbWFyZ2luOiA2MHB4IGF1dG8gMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxpc3QtZXZlbnRzLXBvc3RzLFxuLmV2ZW50cy1yZWxhdGVkIC5saXN0LWV2ZW50cy1wb3N0cyB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ2M7XG4gICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcblxuICAgIC5pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxMDBweCwgMjYuMzl2dywgNDAwcHgpO1xuICAgIH1cbn1cblxuYm9keS5wYWdlLWV4cGVyaWVuY2VzICNkcmFnLWljbyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkZGFyaywgMC4wNSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDQxcHgpIHtcblxuICAgIC5saXN0LWV2ZW50cy1wb3N0cy5ldmVudHMtc2xpZGVyLXJlZ3VsYXIgLmltYWdlLFxuICAgIC5ldmVudHMtc2xpZGVyLXJlZ3VsYXIubGlzdC1wb3J0Zm9saW8tcG9zdHMgLmltYWdlLFxuICAgIC5wb3J0Zm9saW8tc2xpZGVyLXJlZ3VsYXIubGlzdC1wb3J0Zm9saW8tcG9zdHMgLmltYWdlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCAyMC4zOXZ3LCA0MDBweCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBib2R5LnNpbmdsZS1wb3J0Zm9saW8ge1xuICAgICAgICAubGlzdC1wb3J0Zm9saW8tcG9zdHMgLmljb24ge1xuICAgICAgICAgICAgJi5pY29uLXR5cGUtd2lkZSBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRnYyAqIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaWNvbi10eXBlLXNxdWFyZSBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzJweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5pbmZpbml0ZS1wb3J0Zm9saW8tZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAjdGVhbS1kZXRhaWwgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JlbTtcblxuICAgICAgICAuYmlvLFxuICAgICAgICAuY29weSxcbiAgICAgICAgW2NsYXNzXj1nLV0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlLW1vZGFsIHtcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDMuNzVyZW0gKyA4cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZmluaXRlLXBvcnRmb2xpby1kb3RzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICBhOjpiZWZvcmUsXG4gICAgICAgIGEuYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbig0MDBtcyBhbGwgJGN1YmljMik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cbiAgICAmLnJlZ3VsYXIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHhcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oaW5saW5lLWZsZXgsIGNlbnRlciwgY2VudGVyKTtcblxuICAgIC50ZXh0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxNHB4LCAwLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxNnB4KTsgLy8gMTRcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzE0Mjg1NzE0Mjg1NzE7IC8vIDE3XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc3ctYjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDUwMG1zIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpKTtcblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpLFxuICAgIC50ZXh0LFxuICAgIHN2ZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG4uaC02MCB7XG4gICAgcGFkZGluZy1sZWZ0OiBjbGFtcCgzMHB4LCAxLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAzNXB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjbGFtcCgzMHB4LCAxLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAzNXB4KTtcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMjAuNXB4LCAwLjkzNzUwMDAwMDAwMDAwMDAwMDAwcmVtLCAyMnB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMjAuNXB4LCAwLjkzNzUwMDAwMDAwMDAwMDAwMDAwcmVtLCAyMnB4KTtcbn1cblxuLmJ0bi5saWdodCB7XG4gICAgLy8gYm9yZGVyOiAxcHggc29saWQgcmdiYSgkZ29sZCwgMC4yKTtcblxuICAgIC50ZXh0IHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuODc1cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE4NywgMTY1LCAxMjIsIDAuMik7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICYuZ29sZCB7XG4gICAgICAgIC8vYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgICAgIC5nb2xkIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGdvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm91dGxpbmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ0bi5zaXplLXhsOjpiZWZvcmUsXG4uYnRuLnNpemUtbGc6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYnRuLnNpemUteGwsXG4uYnRuLnNpemUtbGcsXG4uYnRuLmxpZ2h0LFxuLmJ0bi5qdXN0LWljb24ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDUwMG1zIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpKTtcbiAgICB9XG59XG5cbi5idG4ub3V0bGluZTo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xufVxuXG4uYnRuLmxpZ2h0LXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAudGV4dCB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxufVxuXG4uYnRuLmlubGluZSB7XG4gICAgQGluY2x1ZGUgaW5saW5lLWZsZXgoKTtcbn1cblxuLmJ0bi50YW4ge1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcblxuICAgIC50ZXh0IHtcbiAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG59XG5cbi5pbnN0YWdyYW0tY3RhIC5idG4udGFuIHtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIEBpbmNsdWRlIGlubGluZS1mbGV4Ym94KCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oNTAwbXMgYmFja2dyb3VuZCAkY3ViaWMyKTtcblxuICAgIGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNsYW1wKDE1cHgsIDEuNzM2MTExdncsIDI1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbig1MDBtcyBmaWxsICRjdWJpYzIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnRuLmJ0bi1saW5lIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgbWluLWhlaWdodDogMjNweDtcblxuICAgICYubGlnaHQsXG4gICAgJi5ncmVlbixcbiAgICAmLmdvbGQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbig1MDBtcyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDEsIDAsIDAsIDEpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHBhdGgsXG4gICAgICAgIC5pY29uLWFycm93IHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgc3Ryb2tlOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5nb2xkIHtcbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHBhdGgsXG4gICAgICAgIC5pY29uLWFycm93IHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGdvbGQ7XG4gICAgICAgICAgICBzdHJva2U6ICRnb2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRnb2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQsXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZ3JlZW4ge1xuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHBhdGgsXG4gICAgICAgIC5pY29uLWFycm93IHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGdyZWVuO1xuICAgICAgICAgICAgc3Ryb2tlOiAkZ3JlZW47XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLnRleHQsXG4gICAgICAgIC8vIHN2ZyB7XG4gICAgICAgIC8vICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDUwMG1zIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG5cbiAgICAgICAgJi5saWdodDpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAmLmdvbGQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGVYKDApKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ0bi5sb2FkLW1vcmUge1xuXG4gICAgLy8gd2lkdGg6IDI0cHg7XG4gICAgLy8gaGVpZ2h0OiA0cHg7XG4gICAgLmxvYWRpbmcge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yMTQyODU3MTQyODU3MTQyODU3MTtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGdvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigzNTBtcyB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKSk7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwJSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMykpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLmJ0bi5pY29uLWFycm93IHN2Z1tjbGFzc149aWNvbi1dIHtcbi5idG4uaWNvbi1hcnJvdyBpIHtcbiAgICAvLyB3aWR0aDogMjBweDtcbiAgICAvLyBtaW4taGVpZ2h0OiAxMHB4O1xuICAgIC8vIG1hcmdpbi1yaWdodDogY2xhbXAoMTVweCwgMC45Mzc1MDAwMDAwMDAwMDAwMDAwMHJlbSwgMC45Mzc1MDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgd2lkdGg6IGNsYW1wKDIwcHgsIDEuMjVyZW0sIDI1cHgpO1xuICAgIG1pbi1oZWlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogY2xhbXAoMTVweCwgMC45Mzc1cmVtLCAxNXB4KTtcbn1cblxuLmJ0bi5pY29uLWFycm93IHN2Zy5pY29uLWFycm93LWxpZ2h0LFxuLmJ0bi5pY29uLWFycm93IHN2Zy5pY29uLWFycm93IHtcbiAgICB3aWR0aDogY2xhbXAoMjVweCwgMS41NjI1MDAwMDAwMDAwMDAwMDAwMHJlbSwgMS41NjI1MDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgaGVpZ2h0OiBjbGFtcCgxMnB4LCAuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIC43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG59XG5cbi5idG4uY2lyY2xlLWFuZC1hcnJvdyB7XG4gICAgLmljb24tYXJyb3cge1xuICAgICAgICB3aWR0aDogY2xhbXAoMjVweCwgMS41NjI1cmVtLCAxLjU2MjVyZW0pO1xuICAgICAgICBoZWlnaHQ6IGNsYW1wKDEycHgsIDAuNzVyZW0sIDAuNzVyZW0pO1xuICAgIH1cblxuICAgIC5jaXJjbGUge1xuICAgICAgICB3aWR0aDogY2xhbXAoNzRweCwgNC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGhlaWdodDogY2xhbXAoNzRweCwgNC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDUwMG1zIHRyYW5zZm9ybSAkY3ViaWMyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBvcnRmb2xpby1zbGlkZXItc2VjdGlvbiAuYnRuLmNpcmNsZS1hbmQtYXJyb3cge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBzcGFjZS1iZXR3ZWVuKTtcblxuICAgIC50ZXh0LFxuICAgIC5jaXJjbGUge1xuICAgICAgICBAaW5jbHVkZSBpbmxpbmUtZmxleCgpO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzdy1tO1xuICAgICAgICAvLyBmb250LWZhbWlseTogJHN3LXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4uYnRuLnNpemUteHhsIHtcbiAgICB3aWR0aDogY2xhbXAoMTIwcHgsIDE0LjEyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxNC4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7IC8vIDIyMD9cbiAgICBoZWlnaHQ6IGNsYW1wKDEyMHB4LCAxNC4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTQuMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4Ym94LCBjZW50ZXIsIGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuICAgICYuZ29sZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRnb2xkO1xuXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1hcnJvdyBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaWNvbi1hcnJvdyBzdmcuaWNvbi1hcnJvdyB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMXZ3O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc3ctcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41MDAwMDAwMDAwMDAwMDAwMDAwMDsgLy8gMThcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG59XG5cbi5idG4uc2l6ZS14bCB7XG4gICAgd2lkdGg6IGNsYW1wKDgwcHgsIDExLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7IC8vIDE4MFxuICAgIGhlaWdodDogY2xhbXAoODBweCwgMTEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDExLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgICAmLmdvbGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ29sZDtcblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tYXJyb3cgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmljb24tYXJyb3cgc3ZnLmljb24tYXJyb3cge1xuICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgICBwYWRkaW5nOiAwIDF2dztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJHN3LXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTAwMDAwMDAwMDAwMDAwMDAwMDA7IC8vIDE4XG4gICAgfVxuXG4gICAgJi5saWdodC1jcmVhbSB7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24taW5zdGFncmFtIHBhdGgsXG4gICAgICAgIC5pY29uLWFycm93IHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGdvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbi1pbnN0YWdyYW0ge1xuICAgICAgICB3aWR0aDogY2xhbXAoMzJweCwgMi4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMi4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGhlaWdodDogY2xhbXAoMzJweCwgMi4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMi4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHdpZHRoOiBjbGFtcCgxMzBweCwgJGdyZW0gKiA4LCAkZ3JlbSAqIDgpO1xuICAgICAgICBoZWlnaHQ6IGNsYW1wKDEzMHB4LCAkZ3JlbSAqIDgsICRncmVtICogOCk7XG4gICAgfVxufVxuXG4uYnRuLnNpemUteGwsXG4uYnRuLnNpemUteGw6OmJlZm9yZSxcbi5idG4uc2l6ZS1sZyxcbi5idG4uc2l6ZS1sZzo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDQ1MG1zIG9wYWNpdHkgJGN1YmljMiwgNDUwbXMgdHJhbnNmb3JtICRjdWJpYzIpO1xufVxuXG4uYnRuLnNpemUtbGcge1xuICAgIHdpZHRoOiBjbGFtcCg4MHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTsgLy8gMTIwXG4gICAgaGVpZ2h0OiBjbGFtcCg4MHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICYuZ29sZDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdvbGQ7XG4gICAgfVxuXG4gICAgJi5saWdodC1jcmVhbSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tYXJyb3cgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkZ29sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgICAvLyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgICAgIC5pY29uLWFycm93IHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGdvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbi1hcnJvdyB7XG4gICAgICAgIHdpZHRoOiBjbGFtcCgyNXB4LCAxLjU2MjUwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjU2MjUwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgaGVpZ2h0OiBjbGFtcCgyNXB4LCAxLjU2MjUwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjU2MjUwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IGNsYW1wKDEyMHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgaGVpZ2h0OiBjbGFtcCgxMjBweCwgNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgfVxufVxuXG4uYnRuLnNpemUtbGcubG90dGllLWJ0biB7XG4gICAgaSB7XG4gICAgICAgIHdpZHRoOiBjbGFtcCgzMHB4LCAxLjU2MjVyZW0sIDEuNTYyNXJlbSk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpKTtcbiAgICB9XG59XG5cbi5wb3N0LXByZXNzLWNvbnRlbnQgLmJ0bi1kb3dubG9hZCB7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xufVxuXG4uaW5saW5lLWxpbmstc2luZ2xlLm9uLWdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGdyZWVuLCAxKSwgcmdiYSgkZ3JlZW4sIDEpKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKCRsaWdodC1jcmVhbSwgMSksIHJnYmEoJGxpZ2h0LWNyZWFtLCAxKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweCwgMCAxcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlLCAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wb3N0LXByZXNzLWNvbnRlbnQgYSxcbi5wb3N0LXByZXNzLWNvbnRlbnQgLmlubGluZS1saW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGRhcmssIDEpLCByZ2JhKCRkYXJrLCAxKSksIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgkd2hpdGUsIDEpLCByZ2JhKCR3aGl0ZSwgMSkpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHgsIDAgMXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJSwgMCAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbmEuaW5saW5lLWxpbmstc2luZ2xlLFxuLmlubGluZS1saW5rLXNpbmdsZSxcbi5wb3N0LXByZXNzLWNvbnRlbnQgYSxcbi5wb3N0LXByZXNzLWNvbnRlbnQgLmlubGluZS1saW5rIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDM1MG1zIHRyYW5zZm9ybSAkY3ViaWMyLCBiYWNrZ3JvdW5kLXNpemUgMzUwbXMgJGN1YmljMik7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDFweCwgMTAwJSAxcHg7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygtMTBkZWcpIHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC5wb3N0LXByZXNzLWNvbnRlbnQgYSxcbi5pbmxpbmUtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAgNnB4LCAxMDAlIDZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIGJvdHRvbSwgMCBib3R0b207XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDQwMG1zIGFsbCAkY3ViaWMpO1xuXG4gICAgJi5kYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgMnB4LCAkd2hpdGUgMCwgJHdoaXRlIDRweCwgdHJhbnNwYXJlbnQgMCksIC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDJweCwgJGRhcmsgMCwgJGRhcmsgNHB4LCB0cmFuc3BhcmVudCAwKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDJweCwgJHdoaXRlIDJweCwgJHdoaXRlIDRweCwgdHJhbnNwYXJlbnQgNHB4KSwgLW8tbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDJweCwgJGRhcmsgMnB4LCAkZGFyayA0cHgsIHRyYW5zcGFyZW50IDRweCk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAycHgsICR3aGl0ZSAwLCAkd2hpdGUgNHB4LCB0cmFuc3BhcmVudCAwKSwgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDJweCwgJGRhcmsgMCwgJGRhcmsgNHB4LCB0cmFuc3BhcmVudCAwKTtcbiAgICB9XG5cbiAgICAmLmxpZ2h0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgMnB4LCAkZ3JlZW4gMCwgJGdyZWVuIDNweCwgdHJhbnNwYXJlbnQgMCksXG4gICAgICAgICAgICAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAycHgsICR3aGl0ZSAwLCAkd2hpdGUgM3B4LCB0cmFuc3BhcmVudCAwKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDJweCwgJGdyZWVuIDJweCwgJGdyZWVuIDNweCwgdHJhbnNwYXJlbnQgM3B4KSxcbiAgICAgICAgICAgIC1vLWxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAycHgsICR3aGl0ZSAycHgsICR3aGl0ZSAzcHgsIHRyYW5zcGFyZW50IDNweCk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAycHgsICRncmVlbiAwLCAkZ3JlZW4gM3B4LCB0cmFuc3BhcmVudCAwKSxcbiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAycHgsICR3aGl0ZSAwLCAkd2hpdGUgM3B4LCB0cmFuc3BhcmVudCAwKTtcbiAgICB9XG5cbiAgICAmLmdvbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAycHgsICRncmVlbiAwLCAkZ3JlZW4gM3B4LCB0cmFuc3BhcmVudCAwKSxcbiAgICAgICAgICAgIC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDJweCwgJGdvbGQgMCwgJGdvbGQgM3B4LCB0cmFuc3BhcmVudCAwKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDJweCwgJGdyZWVuIDJweCwgJGdyZWVuIDNweCwgdHJhbnNwYXJlbnQgM3B4KSxcbiAgICAgICAgICAgIC1vLWxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCAycHgsICRnb2xkIDJweCwgJGdvbGQgM3B4LCB0cmFuc3BhcmVudCAzcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgMnB4LCAkZ3JlZW4gMCwgJGdyZWVuIDNweCwgdHJhbnNwYXJlbnQgMCksXG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQgMnB4LCAkZ29sZCAwLCAkZ29sZCAzcHgsIHRyYW5zcGFyZW50IDApO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC8vIGJhY2tncm91bmQtc2l6ZTogMTAwJSA2cHgsIDEwMCUgNnB4O1xuICAgIH1cblxuICAgICYuZGFyazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtY3JlYW07XG4gICAgfVxufVxuXG4uYnRuLmp1c3QtaWNvbiB7XG4gICAgcGFkZGluZzogMTdweCAyOHB4O1xuXG4gICAgJi5pY29uLWFycm93IGkge1xuICAgICAgICB3aWR0aDogY2xhbXAoMzJweCwgMi4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMi4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGhlaWdodDogY2xhbXAoMTZweCwgMS4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLmdvbGQge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkZ29sZDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvbGQ7XG4gICAgICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAzZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHBhdGgsXG4gICAgICAgIC5pY29uLWFycm93IHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgc3Ryb2tlOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGEsXG4vLyAuYnRuLFxuLy8gLmJ0biAudGV4dFxuLy8gLmJ0biBzdmcge1xuLy8gICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbi8vICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4vLyAgICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuLy8gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4vLyAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuLy8gICAgIHVzZXItc2VsZWN0OiBub25lO1xuLy8gfVxuXG4uYnRuLnBvcnRmb2xpbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAkZ3JlbSAqIDQ7XG4gICAgcGFkZGluZy1sZWZ0OiBjbGFtcCgyNXB4LCAxLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAzMHB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjbGFtcCgyNXB4LCAxLjg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAzMHB4KTtcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMTZweCwgMC45Mzc1MDAwMDAwMDAwMDAwMDAwMHJlbSwgMjJweCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDE2cHgsIDAuOTM3NTAwMDAwMDAwMDAwMDAwMDByZW0sIDIycHgpO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbig1MDBtcyBvcGFjaXR5ICRjdWJpYzIpO1xuXG4gICAgJi5saWdodC1jcmVhbSB7XG4gICAgICAgIC8vYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgICAvL2JhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkdnMtcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyAvLyAyOFxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7IC8vIDI0XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hYnNvbHV0ZS1saW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmluc3RhZ3JhbS1ob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIH1cblxuICAgIGkge1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzQxM0QzMjtcblxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEsIDEuMTUpKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNSwgMS4xKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2tldygtMTBkZWcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmluc3RhZ3JhbS1ob3Zlcixcbi5pbnN0YWdyYW0taG92ZXIgLnRleHQsXG4uaW5zdGFncmFtLWhvdmVyOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oNTAwbXMgdHJhbnNmb3JtICRjdWJpYzIsIDUwMG1zIGJhY2tncm91bmQgJGN1YmljMik7XG59XG5cbi5jb21tb24tY29udGVudCAuYnRuLWRvd25sb2FkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZmxleGJveCgpO1xuXG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmJ0bi1kb3dubG9hZCB7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggJGdyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIHNwYWNlLWJldHdlZW4pO1xuXG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXgtd2lkdGg6ICRncmVtICogMTY7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgaW5saW5lLWZsZXgoKTtcbiAgICB9XG5cbiAgICAuY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGlubGluZS1mbGV4LCBjZW50ZXIsIGNlbnRlcik7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnLFxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAuY2lyY2xlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjbGFtcCg2MHB4LCA1LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA1LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogY2xhbXAoNjBweCwgNS4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNS4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgcGFkZGluZzogJGdyZW07XG5cbiAgICAgICAgLmNpcmNsZSB7XG4gICAgICAgICAgICB3aWR0aDogY2xhbXAoNTBweCwgMTIuODIwNTEyODIwNTEyODIwNTEyODJ2dywgMTIuODIwNTEyODIwNTEyODIwNTEyODJ2dyk7XG4gICAgICAgICAgICBoZWlnaHQ6IGNsYW1wKDUwcHgsIDEyLjgyMDUxMjgyMDUxMjgyMDUxMjgydncsIDEyLjgyMDUxMjgyMDUxMjgyMDUxMjgydncpO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgLy8gMTZcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjUwMDAwMDAwMDAwMDAwMDAwMDAwOyAvLyAyNFxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAkZ3JlbSAyMHB4O1xuICAgICAgICAgICAgLy8gcGFkZGluZzogMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5pbnN0YWdyYW0tY3RhIC5idG4udGFuOmhvdmVyIHtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogJGdyZWVuO1xuXG4gICAgICAgIGkgc3ZnIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGxpZ2h0LWNyZWFtXG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWNyZWFtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gICAgIC5idG4uYnRuLWxpbmU6aG92ZXIge1xuICAgIC8vICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vICAgICB9XG4gICAgLmJ0bi5saWdodDpob3ZlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xLCAxLjE1KSk7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTEwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4uc2l6ZS14bDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4uc2l6ZS1sZzpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMikpO1xuICAgIH1cbn1cblxuLmJ0bi0tY2lyY2xlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogJGdvbGQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LWZhbWlseTogJHN3LWI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuM3B4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxODBweDtcbiAgaGVpZ2h0OiAxODBweDtcblxuICBzdmcge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgJGN1YmljO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxNS4xcHggIWltcG9ydGFudDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIi5ob21lLWhlcm8ge1xuICBiYWNrZ3JvdW5kOiAkZGFyaztcblxuICAucm93IHtcbiAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogNDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleCwgZmxleC1lbmQsIGNlbnRlcik7XG4gIH1cblxuICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgLy8gb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgLmctMTAge1xuICAgICAgd2lkdGg6ICRnY3AgKiAxNDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZy0xMCB7XG4gICAgICB3aWR0aDogJGdjICogMTI7XG4gICAgfVxuICB9XG59XG5cbi5ob21lLWhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaDEge1xuICAgIGZvbnQtZmFtaWx5OiBcIlBQRkdMXCI7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEzO1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIC5yb3c6bnRoLW9mLXR5cGUoMikge1xuICAvLyBwYWRkaW5nLWJvdHRvbTogY2xhbXAoODBweCwgMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEwLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgLy8gfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBwaWN0dXJlOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIHRvcDogMjQuODc1MDAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgfVxuXG4gICAgLmFsaWduLXRvcC1jZW50ZXIgcCB7XG4gICAgICBwYWRkaW5nOiAwIDIuOHJlbTtcbiAgICB9XG5cbiAgICAucm93Om50aC1vZi10eXBlKDIpIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEyMHB4KVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5nLTQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICB3aWR0aDogJGdyZW0gKiA2O1xuICAgIH1cblxuICAgIHBpY3R1cmU6bnRoLW9mLXR5cGUoMikge1xuICAgICAgdG9wOiAyNi44NzVyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gRW5kIDEwMjQgTWF4IGFuZCA3NjkgTWluXG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDExMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXG4gICAgPi5yb3cge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTIwcHgpO1xuICAgIH1cblxuICAgIC5iZWxvdy1tZCAuZy0xMyB7XG4gICAgICB3aWR0aDogJGdyZW0gKiAxNjtcbiAgICB9XG4gIH1cbn1cblxuLmNvbXBhbnktY3VsdHVyZSB7XG4gIC8vIHBhZGRpbmctYm90dG9tOiA2Ljg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgaDIge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gIH1cblxuICBbY2xhc3NePWctXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGZsZXgtc3RhcnQsIGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgIH1cbiAgfVxuXG4gIC5zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgZmxleGJveCgpO1xuXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmljb24taWxsdXN0cmF0aW9uLTAxIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoOC4yMmRlZykpO1xuXG4gICAgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgaW1nLmljb24taWxsdXN0cmF0aW9uLTAxIHtcbiAgICAgIC8vIHRvcDogJGdjcCAqIDEzO1xuICAgICAgbWF4LXdpZHRoOiA2MzBweDtcbiAgICAgIHdpZHRoOiAkZ2NwICogMTE7XG4gICAgICBsZWZ0OiAtJGdjcDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBwOm5vdCguc3VidGl0bGUpIHtcbiAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDMwcHgsIDIuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDQwcHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMzBweCwgMi44MTI1MDAwMDAwMDAwMDAwMDAwMHJlbSwgNDBweCk7XG4gICAgfVxuXG4gICAgLmljb24taWxsdXN0cmF0aW9uLTAxIHtcbiAgICAgIC8vIHRvcDogMTNyZW07XG4gICAgICBsZWZ0OiAtMi4wNjI1cmVtO1xuICAgICAgLy8gd2lkdGg6IDM3LjYyNXJlbTtcbiAgICAgIHdpZHRoOiAkZ2NwICogMTI7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG5cbiAgICBbY2xhc3NePWctXTpsYXN0LW9mLXR5cGUgLnN1YnRpdGxlLFxuICAgIFtjbGFzc149Zy1dOmxhc3Qtb2YtdHlwZSAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIC5pY29uLWlsbHVzdHJhdGlvbi0wMSB7XG4gICAgICB3aWR0aDogNzZ2dztcbiAgICAgIGxlZnQ6IC0xN3Z3O1xuICAgICAgdG9wOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5nLTUge1xuICAgICAgd2lkdGg6ICRncmVtICogMTg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBwOm5vdCguc3VidGl0bGUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4XG4gICAgfVxuICB9XG59XG5cbi5oYWxmLXRhbiB7XG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuLmFib3V0LXRlYW0gLmhhbGYtdGFuLmJnLWNyZWFtLWJlZm9yZTo6YmVmb3JlLFxuLmFib3V0LXRlYW0gLmhhbGYtdGFuLmJnLWRhcmstYmVmb3JlOjpiZWZvcmUsXG4uYWJvdXQtdGVhbSAuaGFsZi10YW4uYmctc2FuZC1iZWZvcmU6OmJlZm9yZSB7XG4gIHdpZHRoOiAkZ2MgKiAxMztcbiAgbWFyZ2luLWxlZnQ6ICRnYyAqIDExO1xufVxuXG4uYWJvdXQtdGVhbSAuY29weS1jb2wgcCB7XG4gIGNvbG9yOiAjRjNFRUUzO1xuICBmb250LXNpemU6IDEuMTI1cmVtICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5hYm91dC10ZWFtIC5jb3B5LWNvbCB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDEzRDMyO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi5oYWxmLXRhbixcbi5hYm91dC1ldmVudHMge1xuICAvLyBwYWRkaW5nLXRvcDogMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIH1cblxuICAucm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuYmctY3JlYW0tYmVmb3JlOjpiZWZvcmUge1xuICAgIHdpZHRoOiA1MnZ3O1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAucm93Om50aC1vZi10eXBlKDIpIHtcbiAgICBwaWN0dXJlOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtOS42NjY2NjY2NjY2Njg3NTAwMDAwMHJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgcGljdHVyZTpsYXN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBoMiB7XG4gICAgLy8gICBtYXJnaW4tdG9wOiBjbGFtcCg1cHgsIC4zMTI1MDAwMDAwMDAwMDAwMDAwMHJlbSwgLjMxMjUwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAvLyAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDI1cHgsIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIC8vIH1cblxuICAgIC5jb3B5IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC8vIHBhZGRpbmctdG9wOiAzLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtO1xuXG4gICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXG4gICAgICAvLyAuYnRuIHtcbiAgICAgIC8vIG1hcmdpbi10b3A6IGNsYW1wKDQwcHgsIDIuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDIuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAvLyBwYWRkaW5nLXRvcDogMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW07XG5cbiAgICAvLyAucGF0dGVybiB7XG4gICAgLy8gICB0b3A6IC0xMC4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICAvLyB9XG5cbiAgICAuY29weSBwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdjO1xuICAgICAgcGFkZGluZy1yaWdodDogJGdjO1xuICAgIH1cblxuICAgIC5yb3c6bnRoLW9mLXR5cGUoMikge1xuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiBjbGFtcCg1cHgsIC4zMTI1MDAwMDAwMDAwMDAwMDAwMHJlbSwgNDVweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDI1cHgsIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDQ1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC8vIHBhZGRpbmctdG9wOiAyMy4wNzY5MjMwNzY5MjMwNzd2dztcblxuICAgIC8vIHBpY3R1cmUuZy0yMSB7XG4gICAgLy8gICB3aWR0aDogJGdyZW0gKiAyMjtcbiAgICAvLyB9XG5cbiAgICAuY29weSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgaDIrcCB7XG4gICAgICAgIG1heC13aWR0aDogJGdyZW0gKiAyMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNvcmUtdmFsdWVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGgyIHtcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMjBweCwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDIwcHgsIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbik7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbig0MDBtcyBjb2xvciAkY3ViaWMyKTtcblxuICAgIHN2ZyBwYXRoIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oNDAwbXMgb3BhY2l0eSAkY3ViaWMyKTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBzdmcgcGF0aCB7XG4gICAgICAgIGZpbGw6ICRnb2xkO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDIge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLnN1YnRpdGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gIH1cblxuICAucm93IFtjbGFzc149Zy1dOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gIH1cblxuICAudmFsdWUtd3JhcHBlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb2xkO1xuXG4gICAgLmNvcHkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLmlubmVyIHtcbiAgICAgICAgLy8gICBwYWRkaW5nOiAyMHB4IDAgNTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCg2MHB4LCA1Ljc2cmVtLCA4MHB4KTtcbiAgICB9XG5cbiAgICAuaWNvbi1wbHVzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnZhbHVlLXdyYXBwZXIgLmNvcHkgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC5pY29uLWlsbHVzdHJhdGlvbi0wMiB7XG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvLyBsZWZ0OiAkZ2MgKiAxMy41O1xuICAgICAgbGVmdDogJGdjO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgLy8gdG9wOiBjbGFtcCg2MHB4LCAyNi45cmVtLCAyNi45cmVtKTtcbiAgICAgIC8vIGxlZnQ6IDFyZW07XG4gICAgICAvLyBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyB3aWR0aDogJGdyZW0gKiA4LjI1O1xuXG4gICAgICAvLyBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC04LjczZGVnKSk7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblxuICAgIC52YWx1ZS13cmFwcGVyLFxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5jb3B5IHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDIwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5jLTEyMCB7XG4gICAgICBmb250LXNpemU6IDEwLjU0NjE1NHZ3O1xuICAgIH1cbiAgfVxufVxuXG4ucG9ydGZvbGlvLXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogODBweDtcblxuICAuc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgaDIge1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogY2xhbXAoNTBweCwgMy4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMy4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbi5tZWRpYS1hbmQtcHJlc3MgLnNsaWRlIHBpY3R1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTQ4LjUlO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4ubWVkaWEtYW5kLXByZXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5yb3cge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIH1cblxuICBbY2xhc3NePWctXTpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmVtICogMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JlbSAqIDI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cblxuICAuc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cblxuICAuZGF0ZXMgaDIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5kYXRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1mYW1pbHk6ICRzdy1tO1xuICAgIGNvbG9yOiAkZGFyaztcbiAgfVxuXG4gIC50aXRsZSxcbiAgLnRpdGxlIGEge1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gIH1cblxuICAudGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC50aXRsZSBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAucG9zdC1zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAvLyAmI2hvbWUtcHJlc3Mge1xuICAgIC8vICAgcGFkZGluZy10b3A6IGNsYW1wKDgwcHgsIDYuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEyMHB4KTtcbiAgICAvLyB9XG5cbiAgICAuZG90cy5iZWxvdy1tZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICAvLyBtYXgtaGVpZ2h0OiA0MHZ3O1xuICAgICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZG90cyB7XG4gICAgICBtYXJnaW46IDYwcHggMCA4MHB4O1xuICAgIH1cblxuICAgIC8vICYjYWJvdXQtcHJlc3MgW2NsYXNzXj1cImctXCJdOmZpcnN0LW9mLXR5cGU6OmJlZm9yZXtcbiAgICAvLyAmI2Fib3V0LXByZXNzIFtjbGFzc149XCJnLVwiXTpmaXJzdC1vZi10eXBlIHtcbiAgICAvLyAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxMDBweCwgMTQuMDYyNTAwMDAwMDAwMDAwMDAwMDByZW0sIDEyMHB4KTtcbiAgICAvLyB9XG5cbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCg4MHB4LCA4LjEyNTAwcmVtLCAxMjBweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoODBweCwgOC4xMjUwMHJlbSwgMTIwcHgpO1xuICAgIH1cblxuICAgIFtjbGFzc149Zy1dOmZpcnN0LW9mLXR5cGUge1xuICAgICAgLy8gcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMjBweCk7IC8vIDEyMFxuICAgICAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDgwcHgsIDEwLjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMDBweCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAkZ2MgKiAxMztcbiAgICAgICAgLy8gdG9wOiBjbGFtcCgtODBweCwgLTguMTI1MDByZW0sIC0xMjBweCk7XG4gICAgICAgIC8vIGhlaWdodDogY2FsYygxMDAlICsgY2xhbXAoODBweCwgOC4xMjUwMHJlbSwgMTIwcHgpKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuYnRuLmFib3ZlLW1kIHtcbiAgICAvLyAgIG1hcmdpbi10b3A6IGNsYW1wKDQwcHgsIDguMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDguMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIC8vIH1cblxuICAgIC5wb3N0LXNsaWRlcixcbiAgICAucm93IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDFweCkge1xuICAgIC5zbGlkZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAzNXZ3O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgcGljdHVyZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMTIuNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zbGlkZSB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MHZ3O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcblxuICAgIFtjbGFzc149Zy1dOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogJGdjICogMjY7XG4gICAgICBsZWZ0OiAtJGdjICogMjtcbiAgICAgIGhlaWdodDogY2FsYyg1NSUgKyAzMHB4KTtcbiAgICAgIHRvcDogLTgwcHg7XG4gICAgfVxuXG4gICAgW2NsYXNzXj1nLV06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRncmVtICogMjtcbiAgICB9XG5cbiAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogJGdyZW0gKiAyO1xuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICB3aWR0aDogJGdjICogMjE7XG5cbiAgICAgIC5hYnNvbHV0ZS1saW5rIHtcbiAgICAgICAgd2lkdGg6ICRnYyAqIDIwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kb3RzLmFib3ZlLW1kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnBvc3Qtc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAuZG90cyB7XG4gICAgICAgIG1hcmdpbjogNDBweCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4uaW5saW5lLmFib3ZlLW1kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiNhYm91dC1wcmVzcyB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAgIFtjbGFzc149XCJnLVwiXTpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgICB0b3A6IC0xMDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxvZ28tbGlzdC1jdGEge1xuICAvLyB3aWR0aDogJGdyZW0gKiAxNS42O1xuICAvLyB3aWR0aDogNThyZW07XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIC8vIGdyaWQtY29sdW1uLWdhcDogJGdjIC8gMjtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiAwO1xuICAvLyBncmlkLXJvdy1nYXA6ICRnYyAvIDI7XG5cblxuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIC8vIG1hcmdpbi10b3A6IGNsYW1wKDQwcHgsIDMuMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDMuMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuXG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cblxuICBwaWN0dXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAud3JhcHBlciB7XG4gICAgaGVpZ2h0OiA0LjV2dztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgY2VudGVyKTtcbiAgfVxuXG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gd2lkdGg6IGNsYW1wKCRnYyAqIDMsIDExLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgLy8gaGVpZ2h0OiBjbGFtcCgkZ2MgKiAzLCAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIC8vIG1heC1oZWlnaHQ6IDYuNXZ3O1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICZbY2xhc3NePWxvZ28tXTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgLy8gd2lkdGg6IGNsYW1wKCRnYyAqIDMsIDExLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAvLyBoZWlnaHQ6IGNsYW1wKCRnYyAqIDMsIDExLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG5cbiAgICAgIC8vIHdpZHRoOiBjbGFtcCgkZ2MgKiAyLjk3LCAxMC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTAuNjI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgLy8gaGVpZ2h0OiBjbGFtcCgkZ2MgKiAyLjk3LCAxMC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTAuNjI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkZ29sZCwgMC4yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uLWxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAvLyAuYnRuIHtcbiAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyB9XG4gIH1cblxuICAvLyB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgbWFyZ2luLXRvcDogY2xhbXAoNDBweCwgNi4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNi4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoNDBweCwgNC4wNjI1MDAwMDAwMDAwMDAwMDAwMHJlbSwgNC4wNjI1MDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgLy8gLmxvZ28tbGlzdC1jdGEge1xuICAgIC8vIHdpZHRoOiAkZ3JlbSAqIDE1LjY7XG4gICAgLy8gd2lkdGg6IDU4cmVtO1xuICAgIC8vIHdpZHRoOiAkZ3JlbSAqIDE0O1xuICAgIHdpZHRoOiAkZ3JlbSAqIDEyO1xuICAgIC8vIHdpZHRoOiAkZ3JlbSAqIDg7XG5cbiAgICAvLyBncmlkLXJvdy1nYXA6IDEuNTYyNTAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgZ3JpZC1yb3ctZ2FwOiAkZ3JlbSAvIDI7XG4gICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuXG4gICAgLy8gLmxvZ28tMCB7XG4gICAgLy8gICBncmlkLXJvdzogMTtcbiAgICAvLyAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgLy8gfVxuXG4gICAgLy8gLmxvZ28tMCB7XG4gICAgLy8gICBncmlkLXJvdzogMTtcbiAgICAvLyAgIGdyaWQtY29sdW1uOiAyO1xuICAgIC8vIH1cblxuICAgIC8vIC5sb2dvLTEge1xuICAgIC8vICAgZ3JpZC1yb3c6IDE7XG4gICAgLy8gICBncmlkLWNvbHVtbjogMztcbiAgICAvLyB9XG5cbiAgICAvLyAubG9nby0yIHtcbiAgICAvLyAgIGdyaWQtcm93OiAyO1xuICAgIC8vICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgLy8gfVxuXG4gICAgLy8gLmxvZ28tMyB7XG4gICAgLy8gICBncmlkLXJvdzogMjtcbiAgICAvLyAgIGdyaWQtY29sdW1uOiAzO1xuICAgIC8vIH1cblxuICAgIC5sb2dvLTAge1xuICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgLy8gZ3JpZC1jb2x1bW46IDEvMjtcbiAgICB9XG5cbiAgICAubG9nby0xIHtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgLy8gZ3JpZC1jb2x1bW46IDQvNTtcbiAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgLy8gZ3JpZC1jb2x1bW46IDM7XG4gICAgICBsZWZ0OiAyLjg1cmVtO1xuICAgICAgdG9wOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLmxvZ28tMiB7XG4gICAgICAvLyAubG9nby0zIHtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgfVxuXG4gICAgLmxvZ28tMyB7XG4gICAgICAvLyAubG9nby0yIHtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgLy8gZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLWNvbHVtbjogMy80O1xuICAgIH1cblxuICAgIC5sb2dvLTQge1xuICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAvLyBncmlkLWNvbHVtbjogNC81O1xuICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgfVxuXG4gICAgLmxvZ28tNSB7XG4gICAgICBncmlkLXJvdzogMztcbiAgICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1saSB7XG4gICAgICBncmlkLXJvdzogMztcbiAgICAgIC8vIGdyaWQtY29sdW1uOiA0LzU7XG4gICAgICBncmlkLWNvbHVtbjogNDtcblxuICAgICAgLmJ0biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gd2lkdGg6IGNsYW1wKDEyMHB4LCAxNC4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTQuMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICAvLyBoZWlnaHQ6IGNsYW1wKDEyMHB4LCAxNC4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTQuMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiBjbGFtcCgkZ2MgKiAzLCAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgaGVpZ2h0OiBjbGFtcCgkZ2MgKiAzLCAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgbWF4LWhlaWdodDogNi41dnc7XG4gICAgfVxuXG4gICAgbGlbY2xhc3NePWxvZ28tXTo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBjbGFtcCgkZ2MgKiAyLjk3LCAxMC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTAuNjI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgaGVpZ2h0OiBjbGFtcCgkZ2MgKiAyLjk3LCAxMC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTAuNjI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAvLyAubG9nby1saXN0LWN0YSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLXJvdy1nYXA6IGNsYW1wKDIwcHgsIDUuMTI4MjA1MTI4MjA1MTI4MjA1MTJ2dywgNDBweCk7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiBjbGFtcCgyMHB4LCA1LjEyODIwNTEyODIwNTEyODIwNTEydncsIDQwcHgpO1xuXG5cbiAgICBsaSxcbiAgICBsaS5idXR0b24tbGksXG4gICAgbGkuYnV0dG9uLWxpIC5idG4uc2l6ZS14eGwge1xuICAgICAgd2lkdGg6IGNsYW1wKDMuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0sICRnYyAqIDEwLjAxLCAyNTBweCk7XG4gICAgICBoZWlnaHQ6IGNsYW1wKDMuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0sICRnYyAqIDEwLjAxLCAyNTBweCk7XG4gICAgfVxuXG4gICAgJltjbGFzc149bG9nby1dOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IGNsYW1wKCRnYyAqIDIuOTcsIDEwLjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICBoZWlnaHQ6IGNsYW1wKCRnYyAqIDIuOTcsIDEwLjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1saSB7XG4gICAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgIH1cblxuICAgIC8vIH1cblxuICAgIC5nYy0yLWhhbGYsXG4gICAgLmdjLTIsXG4gICAgc3ZnLmdjLTItaGFsZixcbiAgICBzdmcuZ2MtMiB7XG4gICAgICB3aWR0aDogY2xhbXAoNDBweCwgJGdjICogNywgMTMwcHgpO1xuICAgIH1cblxuICAgIGltZy5nYy0xLWhhbGYge1xuICAgICAgd2lkdGg6IGNsYW1wKDQwcHgsICRnYyAqIDMuNSwgMTM1cHgpO1xuICAgIH1cblxuICAgIC5nYy0xLWhhbGYsXG4gICAgc3ZnLmdjLTEtaGFsZiB7XG4gICAgICB3aWR0aDogY2xhbXAoNDBweCwgJGdjICogNS41LCAxMzVweCk7XG4gICAgfVxuXG4gICAgLmdjLTEsXG4gICAgc3ZnLmdjLTEge1xuICAgICAgd2lkdGg6IGNsYW1wKDQwcHgsICRnYyAqIDQsIDEwMHB4KTtcbiAgICB9XG5cbiAgICAuZ2MtMS1zZXZlbi1maXZlLFxuICAgIHN2Zy5nYy0xLXNldmVuLWZpdmUge1xuICAgICAgd2lkdGg6IGNsYW1wKDQwcHgsICRnYyAqIDUuNzUsIDEzMHB4KTtcbiAgICB9XG5cbiAgICBpbWcsXG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAvLyB9XG5cbiAgfVxufVxuXG4uYWJvdXQtaGVybyxcbi5hYm91dC10ZWFtIHtcbiAgLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi5hYm91dC1oZXJvIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNTYwcHg7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzOHB4O1xuICB9XG5cbiAgJl9fY29weSB7XG4gICAgY29sb3I6ICM1MjQ3MUU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gIH1cblxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5pY29uLWlsbHVzdHJhdGlvbi1mbG93ZXJzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0kZ2MgLyA0O1xuICAgICAgd2lkdGg6ICRnYyAqIDk7XG4gICAgICB0b3A6IC0xNDBweDtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMzQuMjZkZWcpKTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBoMSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLnJvdzpmaXJzdC1vZi10eXBlIHAge1xuICAgICAgLy9tYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5pY29uLWlsbHVzdHJhdGlvbi1mbG93ZXJzIHtcbiAgICAgIHdpZHRoOiAkZ2MgKiAyNDtcbiAgICAgIHRvcDogLTIwMHB4O1xuICAgICAgbGVmdDogLSRncmVtICogNjtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDEwMmRlZykpO1xuICAgIH1cbiAgfVxufVxuXG4uYWJvdXQtaGlzdG9yeSB7XG4gIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG5cbiAgLmljb24taWxsdXN0cmF0aW9uLWxlYWZzLTAxIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxMDIuOWRlZykpO1xuXG4gICAgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gIH1cbn1cblxuLy8gLmFib3V0LXRlYW0sXG4uaG9tZS1oZXJvIHtcbiAgLmljb24tbGlnYXR1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICtwIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi5pY29uLWFuZC1jb3B5IHtcbiAgLy8gcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCAxMC4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAvLyBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTAwcHgsIDEwLjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMC4wMDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gIC8vIG1hcmdpbi1ib3R0b206IGNsYW1wKDEwMHB4LCAxNS42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTUuNjI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuXG4gIC5pY29uLWlsbHVzdHJhdGlvbi1sZWFmcy0wMSB7XG4gICAgdG9wOiA2LjgxMjUwcmVtO1xuICAgIHdpZHRoOiAkZ3JlbSAqIDkuMTQyO1xuICAgIGxlZnQ6IC0kZ2MgKiAwLjU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi50ZWFtLWhlcm8ge1xuICBiYWNrZ3JvdW5kOiAkZ29sZDtcblxuICBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIC5pY29uLWlsbHVzdHJhdGlvbi10ZWFtLWhlcm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAkZ2MgKiAxNTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogNTBweDtcblxuICAgIGltZyB7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgIH1cbiAgfVxufVxuXG4ucG9ydGZvbGlvLWxpc3Qtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IGNsYW1wKDYwcHgsIDEyLjV2dywgMjAwcHgpO1xufVxuXG4vLyAyNTAgNTkwXG4ucG9ydGZvbGlvLWhlcm8sXG4udGVhbS1oZXJvIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDIwMHB4LCAyMy43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMjMuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0pOyAvLyAzODBcbiAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMjAwcHgsIDIzLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCBjYWxjKDEyMHB4ICsgMTQuNzUwcmVtKSk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuaWNvbi1pbGx1c3RyYXRpb24tdGVhbS1oZXJvIHtcbiAgICAgIHdpZHRoOiAkZ2MgKiAxODtcbiAgICAgIGxlZnQ6ICRnYyAqIDg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZy02IHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDEwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDU3N3B4KSB7XG4gICAgLmctNiB7XG4gICAgICB3aWR0aDogJGdyZW0gKiAxNjtcbiAgICB9XG4gIH1cbn1cblxuLnRlYW0taGVybyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDU3N3B4KSB7XG4gICAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCAzMi4xMDI1NjQxMDI1NjQxMDI1NjQxMHZ3LCAzMi4xMDI1NjQxMDI1NjQxMDI1NjQxMHZ3KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNDAwcHgsIDM2Ljg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAzNi44NzUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7IC8vIDU5MFxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCA2NC4xMDI1NjQxMDI1NjQxMDI1NjQxMHZ3LCAyMDBweCk7XG4gICAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCAxMDguMjA1MTI4MjA1MTI4MjA1MTI4MjB2dywgMTA4LjIwNTEyODIwNTEyODIwNTEyODIwdncpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxMDBweCwgMTA4LjIwNTEyODIwNTEyODIwNTEyODIwdncsIDMwMHB4KTtcbiAgICAvLyBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTAwcHgsIDUxLjI4MjA1MTI4MjA1MTI4MjA1MTI4dncsIDUxLjI4MjA1MTI4MjA1MTI4MjA1MTI4dncpO1xuICB9XG59XG5cbi5wb3J0Zm9saW8taGVybyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDU3N3B4KSB7XG4gICAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCAyOC42NDU4MzMzMzMzMzMzMzMzMzMzM3Z3LCAyMDBweCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDIwMHB4LCA1Mi4wODMzMzMzMzMzMzMzMzMzMzMzM3Z3LCA1MDBweCk7IC8vIDU5MFxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCA1Ni40MTAyNTY0MTAyNTY0MTAyNTY0MXZ3LCAyMDBweCk7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCAxMDIuNTY0MTAyNTY0MTAyNTY0MTAyNTZ2dywgMjc1cHgpO1xuICB9XG59XG5cbi8vIDQyMiAxODVcbi50ZWFtLWxpc3Qtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLnRlYW0tbGlzdCxcbi50ZWFtLWxpc3Qtc2xpZGVyX190cmFjayB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGNvbHVtbi1nYXA6ICRncmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnRlYW0taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gJjpudGgtY2hpbGQobis1KSB7XG4gICAgLy8gICBzdmcgcGF0aCB7XG4gICAgLy8gICAgIGZpbGw6ICRsaWdodC1jcmVhbTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICBoNSxcbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdyZW0gLyAyO1xuICAgICAgcGFkZGluZy1yaWdodDogJGdyZW0gLyAyO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLmltYWdlLXdyYXBwZXIsXG4gICAgLnRlYW0tbmFtZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbmFtZSB7XG4gICAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC04MCUpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg5MGRlZykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIHBpY3R1cmUsXG4gICAgICBwaWN0dXJlIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBwaWN0dXJlIHtcbiAgICAgICAgJi5yZWd1bGFyIHtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmljb24tcGx1cyB7XG4gICAgd2lkdGg6IGNsYXBtKDEzcHgsIC44MTI1MDAwMDAwMDAwMDAwMDAwMHJlbSwgLjgxMjUwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBoZWlnaHQ6IGNsYXBtKDEzcHgsIC44MTI1MDAwMDAwMDAwMDAwMDAwMHJlbSwgLjgxMjUwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBpIHtcbiAgICB3aWR0aDogY2xhbXAoMThweCwgMi4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMi4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgaGVpZ2h0OiBjbGFtcCgxOHB4LCAyLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAyLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvdHRvbTogY2xhbXAoLTlweCwgLS41NjI1MDAwMDAwMDAwMDAwMDAwMHJlbSwgLS41NjI1MDAwMDAwMDAwMDAwMDAwMHJlbSk7XG5cbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleCwgY2VudGVyLCBjZW50ZXIpO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC50ZWFtLWl0ZW0gLmlubmVyOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgLmltYWdlLXdyYXBwZXIgaSxcbiAgICAgIC5pbWFnZS13cmFwcGVyIC5saWdodC13YXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmVtICogMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JlbSAqIDI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAkZ3JlbSAqIDUgJGdyZW0gKiA1ICRncmVtICogNTtcbiAgICByb3ctZ2FwOiAkZ3JlbTtcblxuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1cmVtO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNTc3cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRncmVtICogMTAuNSAkZ3JlbSAqIDEwLjU7XG5cbiAgICAuZy01IHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDEwLjU7XG4gICAgfVxuXG4gICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDU4LjR2dztcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmVtO1xuICAgIHJvdy1nYXA6IGNsYW1wKDMwcHgsICRncmVtLCAkZ3JlbSk7XG5cbiAgICAuZy02IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRncmVtICogMjI7XG4gICAgLy8gbWFyZ2luLXRvcDogLTY0Ljg3MTc5NDg3MTc5NDg3MTc5NDg3dnc7XG5cbiAgICAuZy01IHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDIyO1xuICAgIH1cblxuICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMTV2dztcbiAgICB9XG4gIH1cbn1cblxuLy8gSmFua28gVGVhbSBTbGlkZXJcbi5zdWItdGVhbS1saXN0IHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5pbWFnZS13cmFwcGVyIHN2ZyBwYXRoIHtcbiAgICBmaWxsOiAkbGlnaHQtY3JlYW07XG4gIH1cblxuICAudGVhbS1saXN0LXNsaWRlciBkaXYgLnRlYW0tbmFtZSBpIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIH1cblxuICBoMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogOC41JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjc1cmVtOyAgXG4gICAgfVxuICB9XG5cbiAgLnRlYW0tbGlzdC1zbGlkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjUlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuNzVyZW07ICBcbiAgICB9XG5cbiAgICAmX190cmFjayB7XG4gICAgICBjdXJzb3I6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAudGVhbS1pdGVtIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMwMHB4ICsgNHZ3KTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMjY2cHggKyA0dncpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDgyMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTcwcHggKyA0dncpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMHZ3IC0gNy41cmVtICsgNC4xdncpLzIpOyAgXG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi13cmFwcGVyIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0dnc7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgIGN1cnNvcjogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIGhlaWdodDogNDAwcHg7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAzNTVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODIwcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjI3cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRlYW0tY29udHJvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDYwcHg7XG4gICAgcmlnaHQ6IDR2dztcbiAgICBib3R0b206IDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIHJpZ2h0OiAzLjc1cmVtOyAgXG4gICAgfVxuICB9XG5cbiAgLnRlYW0tY29udHJvbC1sZWZ0LFxuICAudGVhbS1jb250cm9sLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzICRjdWJpYztcbiAgICB9XG5cbiAgICAmW2RhdGEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICBzdmcge1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50ZWFtLWxpc3QsXG4ubGlzdC1wb3J0Zm9saW8tcG9zdHMge1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAkZ2NwICogNSAkZ2NwICogNSAkZ2NwICogNTtcblxuICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMzMuNSU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgbWFyZ2luLXRvcDogLTE1LjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNTc3cHgpIHtcbiAgICBtYXJnaW4tdG9wOiAtMzIuODcxNzk0ODcxNzk0ODcxNzk0ODd2dztcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgIC8vIG1hcmdpbi10b3A6IC02NC44NzE3OTQ4NzE3OTQ4NzE3OTQ4N3Z3O1xuICAgIG1hcmdpbi10b3A6IC0yMjBweDtcbiAgfVxufVxuXG4udGVhbS1saXN0LXNlY3Rpb24gLmJhY2tncm91bmQge1xuICBoZWlnaHQ6IDQzJTtcbn1cblxuLmNhcmVlcnMtY3RhIC5nLTU6OmJlZm9yZSB7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICB3aWR0aDogMTAwdnc7XG4gIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcbn1cblxuLmNhcmVlcnMtY3RhIHtcbiAgei1pbmRleDogMTtcblxuICBbY2xhc3NePWctXSB7XG4gICAgei1pbmRleDogMjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuc3VidGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpOyAvLyBhbGlnbiBjZW50ZXIgbWFrZSBjZW50ZXIgLSBjaGVjayBnbG9iYWxseVxuICB9XG5cbiAgaDUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIHBpY3R1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDQuMzF2dztcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcblxuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmYtY29sdW1uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgfVxuXG4gICAgJi5ldmVudHMtY3RhIC5mLWNvbHVtbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgIHBpY3R1cmUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQxLjAzdmg7XG4gICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuLnBvcnRmb2xpby1oZXJvIHtcbiAgYmFja2dyb3VuZDogJGdvbGQ7XG59XG5cbioge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLmJyYW5kLWhlcm8ge1xuICBiYWNrZ3JvdW5kOiAkZ29sZDtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLXRvcDogMTgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgcGFkZGluZy10b3A6IDEzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjd2dztcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogNHZ3O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyAgXG4gICAgfVxuICB9XG5cbiAgJl9fbGlua3Mge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICBkaXNwbGF5OiBncmlkOyAgXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ2FwOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIG1hcmdpbjogMCAzMHB4O1xuXG4gICAgJi1hbmNob3Ige1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiU3dlZXRTYW5zUHJvLVJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG59XG5cbi5icmFuZC1jb2xsZWN0aW9uIHtcbiAgcGFkZGluZy10b3A6IGNsYW1wKDMwcHgsIDd2dywgN3Z3KTtcblxuICAmLS1ib3R0b20tc3BhY2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnZ3O1xuICB9XG5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAxMjBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KTsgIFxuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgzMHB4LCAxLjV2dywgMS41dncpO1xuXG4gICAgJi0tYWljIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFpbi1sb2dvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNsYW1wKDIwcHgsIDJ2dywgMnZ3KTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDQ4dnc7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7ICBcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvbGQ7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogNHZ3O1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCgzMHB4LCAzLjV2dywgMy41dncpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTsgIFxuICAgIH1cblxuICAgICYtY29sIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAmX19tYWluLWltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHZ3O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJHN3LWI7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAxLjR2dywgMS40dncpO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMzBweCwgM3Z3LCAzdncpO1xuICB9XG5cbiAgJl9fZm9udHMge1xuXG4gIH1cblxuICAmX19mb250IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogY2xhbXAoMzBweCwgMi41dncsIDIuNXZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzdnc7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAydnc7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgIFxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgIFxuICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cblxuICAgICYtY29sIHtcbiAgICAgICYtLWZpcnN0IHtcbiAgICAgICAgZmxleDogMCAwIGNsYW1wKDE1MHB4LCAxMHZ3LCAxMHZ3KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTsgIFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1zdWJ0aXRsZSB7XG4gICAgICBjb2xvcjogJGdvbGQ7XG4gICAgICBmb250LWZhbWlseTogJHN3LXI7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDEycHgsIDAuODV2dywgMC44NXZ3KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmLWEge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgxMDBweCwgMTEuMTF2dywgMTEuMTF2dyk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuMXZ3O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXZ3O1xuICAgIH1cblxuICAgICYtY29weSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDEuNXZ3LCAxLjV2dyk7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgfVxuXG4gICAgJiArICoge1xuICAgICAgbWFyZ2luLXRvcDogMS41dnc7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyAgXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbG9nb3Mge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDMwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMDBweCwgMWZyKSk7XG4gICAgbWFyZ2luLWJvdHRvbTogNHZ3O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ2FwOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19jb2xvcnMge1xuICAgICYtdGl0bGUge1xuICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgZm9udC1mYW1pbHk6ICRzdy1yO1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgxMnB4LCAwLjg1dncsIDAuODV2dyk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXZ3O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJiArICoge1xuICAgICAgbWFyZ2luLXRvcDogM3Z3O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgIFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb2xvci1saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMnZ3O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIGdhcDogMjBweCAxMHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgIFxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgJi1oZXgge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxdnc7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MSU7XG5cbiAgICAgICAgJi0td2hpdGUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMkYxRTY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMXZ3LCAxdncpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXZ3O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyAgXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1jb3B5IHAge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEycHgsIDAuODV2dywgMC44NXZ3KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwOyAgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcblxuICAgICAgLmNvbG9yLWxpc3RfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICYtaGV4IHtcbiAgICAgICAgICBmbGV4OiAwIDAgMTYuOHZ3O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMy41dnc7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE3LjUlO1xuICAgICAgICAgIHdpZHRoOiAxNi44dnc7XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZ1bGwtd2lkdGgge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgIG1hcmdpbi10b3A6IDJ2dztcblxuICAgICAgLmNvbG9yLWxpc3RfX2l0ZW0taGV4IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE2JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGQkYxRTY7XG4gICAgbWFyZ2luLXRvcDogM3Z3O1xuICAgIHBhZGRpbmc6IDJ2dyA0LjJ2dyA0dnc7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAzMHB4IDE1cHg7ICBcbiAgICB9XG5cbiAgICAmLS1jaGFybGVzdG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNFQUU2REQ7XG4gICAgfVxuXG4gICAgJi0tcml2aWVyYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjJGMUU2O1xuICAgIH1cblxuICAgICYtLXNvcmVsbGUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyLDQ2LDM0LDAuMSk7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBjb2xvcjogJGdvbGQ7XG4gICAgICBmb250LWZhbWlseTogJHN3LXI7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDEycHgsIDAuODV2dywgMC44NXZ3KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgzMHB4LCAydncsIDJ2dyk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdhcDogMS41dncgNHZ3O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgIGdhcDogMTVweDtcbiAgICAgIH1cblxuICAgICAgJi1pdGVtIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGdvbGQsIDAuMik7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXZ3O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyAgXG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDEuN3Z3LCAxLjd2dyk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbGluayB7XG4gICAgICAgICAgcGFkZGluZzogMXZ3IDJ2dztcblxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4OyAgXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBvcnRmb2xpby1oZXJvIHtcbiAgLy8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyNy40NWRlZywgIzZCN0M3OCAtMC4wNyUsICM1MjQ3MUUgOTIlKTtcblxuICBoMSxcbiAgLmMtMTIwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4uY29udGFjdC1jdGEge1xuICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmc6IDA7XG5cbiAgaDIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuXG4ucHJlc3MtcGFnZS1jdGEge1xuICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG59XG5cbi5ldmVudHMtaGVybyxcbi5wcmVzcy1oZXJvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6ICRkYXJrO1xuXG4gIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgaDIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5idG4ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICAudGl0bGVzLFxuICAuaW5uZXItd3JhcHBlciBwaWN0dXJlLFxuICAuZGF0ZXMge1xuICAgIGxpIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIG1pbi1oZWlnaHQ6IDkwdmg7XG4gICAgbWF4LWhlaWdodDogMTEwMHB4O1xuICB9XG59XG5cbi5wcmVzcy1oZXJvIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIG1pbi1oZWlnaHQ6IDc3Ljc3N3ZoO1xuICB9XG59XG5cbi5wcmVzcy1oZXJvLFxuLnByZXNzLWhlcm8gLnJvdyxcbi5wcmVzcy1oZXJvIC5mZWF0dXJlZC1jb250ZW50LFxuLnBvc3QtcHJlc3MtaGVybyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbi5saXN0LWV2ZW50cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCAxMy40Mzc1MDAwMDAwMDAwMDAwMDAwMHJlbSwgMTMuNDM3NTAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAvLyBkaXNwbGF5OiBncmlkO1xuICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRncmVtICogOSAkZ3JlbSAqIDk7XG4gIC8vIGNvbHVtbi1nYXA6ICRncmVtICogMjtcbiAgLy8gcm93LWdhcDogJGdyZW0gKiAyO1xuXG4gIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBmbGV4LXN0YXJ0LCBzcGFjZS1iZXR3ZWVuKTtcblxuICBsaSB7XG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgfVxuXG4gIC5hYnNvbHV0ZS1saW5rIHtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgbGksXG4gIC5pbWFnZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuYm90dG9tIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB9XG5cbiAgLnN1YnRpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuXG4gIC5zaXplLWxnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMztcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgQGluY2x1ZGUgZmxleGJveCgpO1xuICB9XG5cbiAgaW1nIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDQ1MG1zIHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpKTtcbiAgfVxuXG4gIHBpY3R1cmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgbGk6aG92ZXI6bm90KC5yZW1vdmUtbGluaykge1xuICAgICAgLnNpemUtbGcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIHBhZGRpbmctbGVmdDogJGdyZW0gKiAyO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmVtICogMjtcblxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDk7XG4gICAgfVxuXG4gICAgLy8gbGk6bnRoLW9mLXR5cGUoZXZlbikgLmltYWdlLXdyYXBwZXIge1xuICAgIGxpOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgIG1hcmdpbi10b3A6ICRncmVtICogMjtcbiAgICB9XG5cbiAgICAuYm90dG9tIHtcbiAgICAgIHBhZGRpbmc6ICRncmVtIC8gMS41O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgbGkge1xuICAgICAgd2lkdGg6ICRncmVtICogMjI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJvdHRvbSB7XG4gICAgICBwYWRkaW5nOiAzMHB4ICRncmVtO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG59XG5cbi5qdXN0LWNvcHkge1xuICBwYWRkaW5nLXRvcDogY2xhbXAoODBweCwgNi45NHZ3LCAxMjBweCk7XG4gIHBhZGRpbmctYm90dG9tOiBjbGFtcCg4MHB4LCA2Ljk0dncsIDEyMHB4KTtcblxuICBoNSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDE2NjsgLy8gMzRcbiAgfVxufVxuXG4uanVzdC1jb3B5LFxuLmV2ZW50cy1oZXJvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZXZlbnRzLWxpc3Qtc2VjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICAvLyBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI1LjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI1LjMxMjUwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG4gIH1cblxuICAuYnRuLnNpemUtbGcgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG4ubGlzdC1wYXJ0bmVycyBzdmcge1xuICB6LWluZGV4OiAzO1xufVxuXG4ubGlzdC1wYXJ0bmVycyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgcGljdHVyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCA2Ljg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCA2Ljg3NTAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcblxuICAgIGxpIHtcbiAgICAgIG1pbi13aWR0aDogJGdjICogNTtcbiAgICAgIG1pbi1oZWlnaHQ6ICRnYyAqIDQ7XG4gICAgICBtYXJnaW46IDAgMCAkZ3JlbTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6ICRnYyAqIDQ7XG4gICAgICAgIGhlaWdodDogJGdjICogNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNzBweCwgNi44NzUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNi44NzUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG5cbiAgICBsaSB7XG4gICAgICBtaW4td2lkdGg6ICRnYyAqIDExO1xuICAgICAgbWluLWhlaWdodDogJGdjICogMTA7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogJGdjICogMTA7XG4gICAgICAgIGhlaWdodDogJGdjICogMTA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3ZnLFxuICAgIHBpY3R1cmUgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuZ2MtMi1oYWxmLFxuICAgIC5nYy0yLXNldmVuLWZpdmUge1xuICAgICAgd2lkdGg6ICRnYyAqIDYuNTtcbiAgICB9XG5cbiAgICAuZ2MtMS10d28tZml2ZSB7XG4gICAgICB3aWR0aDogJGdjICogMztcbiAgICB9XG5cbiAgICAuZ2MtMS1zZXZlbi1maXZlIHtcbiAgICAgIHdpZHRoOiAkZ2MgKiA0LjU7XG4gICAgfVxuXG4gICAgLmdjLTIge1xuICAgICAgd2lkdGg6ICRnYyAqIDUuNTtcbiAgICB9XG5cbiAgICAuZ2MtMS1oYWxmIHtcbiAgICAgIHdpZHRoOiAkZ2MgKiAyLjU7XG4gICAgfVxuXG4gICAgLmdjLTEtaGFsZiB7XG4gICAgICB3aWR0aDogJGdjICogNDtcbiAgICB9XG4gIH1cbn1cblxuI3BhcnRuZXJzLWhlcm8ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxMTBweCwgNy42Mzg4ODg4ODg4ODg4ODg4ODg4OHZ3LCA3LjYzODg4ODg4ODg4ODg4ODg4ODg4dncpO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cblxuYm9keS5jb250YWN0IHtcbiAgbWFpbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAuaWNvbi1wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbnRhY3QtaGVybyxcbi5kb25hdGUtaGVybyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHBpY3R1cmUgaW1nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDM2MHB4O1xuICB9XG5cbiAgLnJvdzpmaXJzdC1vZi10eXBlIHtcbiAgICAuZy01OmZpcnN0LW9mLXR5cGUgcGljdHVyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyBwYWRkaW5nLXRvcDogMjEuOTM3NTAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgICAvLyBwYWRkaW5nLXRvcDogMjUuNTYyNTAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgICAvLyBwYWRkaW5nLXRvcDogMjYuODc1MDAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgICAvLyBwYWRkaW5nLXRvcDogY2xhbXAoMjAwcHgsIDU0LjM2dmgsIDYwMHB4KTtcbiAgICB9XG5cbiAgICAuZy03IC5nYy01IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vIHRvcDogNTByZW07XG4gICAgICAvLyBwYWRkaW5nLXRvcDogY2xhbXAoMjAwcHgsIDI3LjY5dmgsIDMwMHB4KTtcbiAgICB9XG4gIH1cblxuICAuZy01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc2lkZS1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjbGFtcCgyMDBweCwgMjcuNjl2aCwgMzAwcHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuc2lkZS1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2xhbXAoMjAwcHgsIDI3LjY5dmgsIDMwMHB4KTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAuaWNvbi1pbGx1c3RyYXRpb24tYmFiaWVzLWJyZWF0aC1jb250YWN0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC8vIGxlZnQ6ICRnYyAqIDAuMjU7XG4gICAgLy8gbGVmdDogMDtcbiAgICBsZWZ0OiAtJGdjICogMS41O1xuXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgzMGRlZykpO1xuXG4gICAgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gIH1cblxuICAucm93Om50aC1vZi10eXBlKDIpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gIC5saXN0LWNvbnRhY3QgYSxcbiAgYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkdnMtcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuXG4gIC5pY29uLWlsbHVzdHJhdGlvbi1iYWJpZXMtYnJlYXRoLWNvbnRhY3Qge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpbGwtY2hhbmdlOiBhdXRvO1xuICB9XG5cbiAgLnNlcGFyYXRvciB7XG4gICAgd2lkdGg6IGNsYW1wKDIwcHgsIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJi5nb2xkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRnb2xkO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLnN1Yi1wYWdlLWhlcm8gW2NsYXNzXj1nLV0ge1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAvLyBwYWRkaW5nLXRvcDogY2xhbXAoMTAwcHgsIDEwLjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7IC8vIDE3MFxuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuXG4gICAgLmxpc3QtY29udGFjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIC8vIC5pY29uLWlsbHVzdHJhdGlvbi1iYWJpZXMtYnJlYXRoLWNvbnRhY3Qge1xuICAgIC8vICAgbGVmdDogLSRncmVtICogMjtcbiAgICAvLyAgIHRvcDogLTM1cHg7XG4gICAgLy8gICBvcGFjaXR5OiAwLjU7XG5cbiAgICAvLyAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMjUuOThkZWcpKTtcbiAgICAvLyB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgIC5yb3c6Zmlyc3Qtb2YtdHlwZSAuZy0xMCB7XG4gICAgICB3aWR0aDogJGdyZW0gKiAxMTtcbiAgICB9XG5cbiAgICAucm93Om50aC1vZi10eXBlKDIpIC5mb3JtLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogJGdyZW0gKiAxNDtcbiAgICB9XG5cbiAgICAuc2lkZS1yaWdodCxcbiAgICAuc2lkZS1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDUwMXB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCAzMS4yODIwNTEyODIwNTEyODIwNTEyOHZ3LCAyMDBweCk7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAucm93OmZpcnN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICAubGlzdC1jb250YWN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgLmljb24taWxsdXN0cmF0aW9uLWJhYmllcy1icmVhdGgtY29udGFjdCB7XG4gICAgICBsZWZ0OiAtJGdyZW0gKiAyO1xuICAgICAgd2lkdGg6ICRncmVtICogMTY7XG4gICAgICB0b3A6IDIwMHB4O1xuXG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0obWF0cml4KC0wLjc2LCAtMC42MywgLTAuNjYsIDAuNzYsIDAsIDApKTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMTAwcHgsIDUxLjI4MjA1MTI4MjA1MTI4MjA1MTI4dncsIDUxLjI4MjA1MTI4MjA1MTI4MjA1MTI4dncpO1xuICB9XG5cbiAgLmRvbmF0aW9uLWNvcHkge1xuICAgICogKyAqIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLm10LTYwIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG5cbiAgZm9ybSB7XG4gICAgLmZvcm0tcm93ID4gbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1oZWxwZXIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiA1cHggMDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgJi0tZXh0cmEge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tcm93LnJhZGlvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAucmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmFkaW8tZ3JvdXAgbGFiZWwge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hlY2tib3gtZ3JvdXAge1xuICAgIGxhYmVsIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubGlzdC1jb250YWN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnBlcmtzLXNlY3Rpb24ge1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTAwcHgsIDEwLjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxMC42MjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG5cbiAgLnBhdHRlcm4ge1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgLnBlcmtzLWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuaWNvbi1saWdhdHVyZSB7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxMDBweCwgMzd2dywgMzd2dyk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIC5wZXJrcy1jYXJkIHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDEwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRncmVtICogMTA7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgcGljdHVyZSB7XG4gICAgICBtYXJnaW4tdG9wOiA4Ljc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtO1xuICAgIH1cblxuICAgIC5wZXJrcy1jYXJkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAkZ3JlbSAvIDEuMDggJGdyZW0gLyAxLjU7XG4gICAgfVxuXG4gICAgLmxpc3QtcGVya3Mgc3ZnIHtcbiAgICAgIG1hcmdpbjogMjVweCBhdXRvIDVweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc3F1YXJlIHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDE2O1xuICAgIH1cblxuICAgIHBpY3R1cmUge1xuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgfVxuXG4gICAgLnBlcmtzLWNhcmQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDU1cHggJGdyZW07XG4gICAgfVxuXG4gICAgLmxpc3QtcGVya3Mgc3ZnIHtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvIDVweDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmVlcnMtaGVybyB7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoODBweCwgNy41cmVtLCAxMjBweCk7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAuaWNvbi1pbGx1c3RyYXRpb24tY2FyZWVycy1oZXJvIHtcbiAgICAgIHdpZHRoOiAkZ2MgKiAxNDtcbiAgICB9XG4gIH1cblxuICAvLyBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgLy8gcGFkZGluZy10b3A6IDExMHB4O1xuICAvLyBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAvLyB9XG59XG5cbi5pY29uLWlsbHVzdHJhdGlvbi1jYXJlZXJzLWhlcm8ge1xuICBsZWZ0OiAtJGdjICogMy4zNTtcbiAgdG9wOiAwO1xuXG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTVkZWcpKTtcbn1cblxuLmNhcmVlcnMtdmFsdWVzIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmljb24taWxsdXN0cmF0aW9uLWxlYXZlcy12YWx1ZXMge1xuICAgIHdpZHRoOiAkZ3JlbSAqIDkuNTtcbiAgICBsZWZ0OiAtJGdyZW0gLyAyO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0b3A6IDMuNzVyZW07XG4gIH1cblxuICAucm93OmZpcnN0LW9mLXR5cGUge1xuICAgIC8vIHBhZGRpbmctYm90dG9tOiBjbGFtcCg4MHB4LCAxMS4xMXZ3LCAxODBweCk7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cblxuICAucm93Omxhc3Qtb2YtdHlwZSB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICB9XG4gIH1cblxuICAubGlzdC1wZXJrcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXG4gICAgc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgIH1cblxuICAgIHN2ZyxcbiAgICBwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnVmlvbGV0LUpXLVNlcmlmLVJlZ3VsYXInO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7ICBcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgZmxleC1zdGFydCk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgJi5tZC1zaWRlLXBsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5yb3c6Zmlyc3Qtb2YtdHlwZSBwaWN0dXJlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLnJvdzpsYXN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgLmxpc3QtcGVya3MgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgcC5nLTYge1xuICAgICAgd2lkdGg6ICRncmVtICogMTA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJlZXJzLXZpc2lvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcblxuXG4gIGgzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICYuYWJvdXQtdGVhbSAuaGFsZi10YW4ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgJi5hYm91dC10ZWFtIC5oYWxmLXRhbi5yb3cge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJlZXJzLXZhbHVlcyB7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDgwcHgsIDExLjExdncsIDE4MHB4KTtcblxuICAudGl0bGUtYW5kLWNvcHkge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgJl9fY29weSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDQ7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaWNvbi1pbGx1c3RyYXRpb24tY2FyZWVycy12YWx1ZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaW1nIHtcbiAgICBsZWZ0OiAtJGdjcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE1ZGVnKSk7XG4gIH1cbn1cblxuLmpvaW4tb3VyLXRlYW0sXG4uaW1hZ2UtYW5kLWNhcmQge1xuICAmLm5vLWluc3RhZ3JhbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICB9XG59XG5cbi5qb2luLW91ci10ZWFtIHtcbiAgLnNxdWFyZSB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGdyZW07XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5qb2luLWxvZ28ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5sb2dvLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICRnb2xkO1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5sb2dvLWJveCB7XG4gICAgICBtaW4taGVpZ2h0OiAyNi4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICAgIGJvdHRvbTogLTkuMzc1MDAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgfVxuXG4gICAgLnJvdzpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxMDBweCwgNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgfVxuXG4gICAgLmpvaW4tbG9nbyB7XG4gICAgICB3aWR0aDogJGdyZW0gKiAzLjU7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNTc3cHgpIHtcbiAgICAucm93OmZpcnN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDkwcHgsIDQuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDQuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIH1cblxuICAgIC5yb3c6bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyOC4wMjU2NDEwMjU2NDEwMjU2NDEwMnZ3O1xuICAgIH1cblxuICAgIC5zcXVhcmUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYyLjg3MTc5NXZ3O1xuICAgIH1cblxuICAgIC5sb2dvLWJveCB7XG4gICAgICBib3R0b206IC0yMy4wNzY5MjMwNzY5MjMwNzY5MjMwN3Z3O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zcXVhcmUge1xuICAgICAgd2lkdGg6ICRncmVtICogMTg7XG4gICAgICBtYXJnaW4tbGVmdDogJGdyZW0gKiA2O1xuICAgIH1cblxuICAgIC5nLTE2IHtcbiAgICAgIHdpZHRoOiAkZ3JlbSAqIDIyO1xuICAgIH1cblxuICAgIC5sb2dvLWJveCB7XG4gICAgICB3aWR0aDogJGdyZW0gKiAxMTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ2LjE1Mzg0NjE1Mzg0NjE1Mzg0NjE1dnc7XG4gICAgfVxuXG4gICAgLmpvaW4tbG9nbyB7XG4gICAgICB3aWR0aDogJGdyZW0gKiA3O1xuICAgIH1cblxuICAgIC5yb3c6bGFzdC1vZi10eXBlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAucm93OmZpcnN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDkwcHgsIDcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIH1cblxuICAgIC5yb3c6bGFzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCgxNDBweCwgNDEuMDI1NjQxMDI1NjQxMDI1NjQxMDJ2dywgMjAwcHgpO1xuICAgIH1cblxuICAgIC5zcXVhcmUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgyLjg3MTc5NXZ3O1xuICAgIH1cblxuICAgIC5sb2dvLWJveCB7XG4gICAgICBib3R0b206IC05MHB4O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gIC5hYm91dC1oZXJvIC5pY29uLWlsbHVzdHJhdGlvbi1mbG93ZXJzIHtcbiAgICBsZWZ0OiAtJGdjcDtcbiAgICB3aWR0aDogJGdjcCAqIDk7XG4gIH1cblxuICAuYWJvdXQtdGVhbSAuaGFsZi10YW4uYmctY3JlYW0tYmVmb3JlOjpiZWZvcmUsXG4gIC5hYm91dC10ZWFtIC5oYWxmLXRhbi5iZy1kYXJrLWJlZm9yZTo6YmVmb3JlLFxuICAuYWJvdXQtdGVhbSAuaGFsZi10YW4uYmctc2FuZC1iZWZvcmU6OmJlZm9yZSB7XG4gICAgd2lkdGg6ICRnY3AgKiAxMztcbiAgICBtYXJnaW4tbGVmdDogJGdjcCAqIDExO1xuICB9XG5cbiAgLmljb24tYW5kLWNvcHkgLmljb24taWxsdXN0cmF0aW9uLWxlYWZzLTAxIHtcbiAgICBsZWZ0OiAtJGdjcCAqIDAuNTtcbiAgICB3aWR0aDogJGdjcCAqIDkuMTQyO1xuICB9XG5cbiAgLmNhcmVlcnMtam9pbi0yIC5iZy1jcmVhbS1iZWZvcmU6OmJlZm9yZSB7XG4gICAgd2lkdGg6ICRnY3AgKiAxMjtcbiAgfVxufVxuXG4uY2FyZWVycy1qb2luLTIge1xuICAucm93IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kLXNpZGUtcGwge1xuICAgIG1heC13aWR0aDogNDIzcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICB9XG5cbiAgICAqOm5vdChhKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS40NDtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuY29udGFjdC1jdGEgLmYtY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICB3aWR0aDogJGdjICogODtcbiAgICBtYXJnaW4tbGVmdDogJGdjICogMjtcblxuICAgIC5nLTUge1xuICAgICAgd2lkdGg6ICRnYyAqIDc7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuXG4gIC5pY29uLWlsbHVzdHJhdGlvbi1jb2xsZWN0aW9uLWJvdHRvbSxcbiAgLnBvcnRmb2xpby1oZXJvIC5pY29uLWlsbHVzdHJhdGlvbi1wb3J0Zm9saW8ge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICBpbWcge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxuXG4gIC5wb3J0Zm9saW8taGVybyAuaWNvbi1pbGx1c3RyYXRpb24tcG9ydGZvbGlvIHtcbiAgICB3aWR0aDogJGdjICogOC41O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtJGdjICogMC44O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuaWNvbi1pbGx1c3RyYXRpb24tY29sbGVjdGlvbi1ib3R0b20ge1xuICAgIHdpZHRoOiAkZ2MgKiAxMy41O1xuICAgIGxlZnQ6ICRnYyAqIDEzO1xuICAgIGJvdHRvbTogLTIlO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgzNWRlZykpO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAucHJlc3MtaGVybyAuZmVhdHVyZWQtY29udGVudCB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcbiAgfVxuXG4gIC5hYm91dC10ZWFtIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgIC5oYWxmLXRhbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgLmNvcHktY29sIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmljb24tYW5kLWNvcHkuYWJvdXQtaGlzdG9yeSB7XG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gIH1cblxuICAucG9ydGZvbGlvLWhlcm8gLmljb24taWxsdXN0cmF0aW9uLXBvcnRmb2xpbyB7XG4gICAgd2lkdGg6ICRnYyAqIDE4O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtJGdjICogMC44O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuYWJvdXQtZXZlbnRzLmNhcmVlcnMtam9pbi0yIC5yb3cge1xuICAgIHBhZGRpbmctdG9wOiBjbGFtcCg1MHB4LCA4LjMzMzMzdncsIDE0MHB4KTtcbiAgfVxuXG4gIC5wcmVzcy1oZXJvIHtcbiAgICBtaW4taGVpZ2h0OiA4MHZoO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAuaG9tZS1oZXJvIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmVtO1xuICB9XG59XG5cbi8vSW50ZXJhY3RpdmUgTWFwXG4uaW50ZXJhY3RpdmUtbWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA4NHZ3O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAgXG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI3cHg7ICBcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJl9fb2JqZWN0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAqIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tMSB7XG4gICAgICB0b3A6IDElO1xuICAgICAgbGVmdDogNDAlO1xuICAgICAgd2lkdGg6IDE5JTtcbiAgICAgIGhlaWdodDogMTUlO1xuICAgIH1cblxuICAgICYtLTIge1xuICAgICAgdG9wOiA0MSU7XG4gICAgICBsZWZ0OiAxNiU7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgaGVpZ2h0OiAxMCU7XG4gICAgfVxuXG4gICAgJi0tMyB7XG4gICAgICB0b3A6IDQ0JTtcbiAgICAgIGxlZnQ6IDI2JTtcbiAgICAgIHdpZHRoOiAxNCU7XG4gICAgICBoZWlnaHQ6IDI3JTtcbiAgICB9XG5cbiAgICAmLS00IHtcbiAgICAgIHRvcDogNTglO1xuICAgICAgbGVmdDogNDQlO1xuICAgICAgd2lkdGg6IDExJTtcbiAgICAgIGhlaWdodDogMTglO1xuICAgIH1cblxuICAgICYtLTUge1xuICAgICAgYm90dG9tOiAxMiU7XG4gICAgICBsZWZ0OiAzNiU7XG4gICAgICB3aWR0aDogNyU7XG4gICAgICBoZWlnaHQ6IDEzJTtcbiAgICB9XG5cbiAgICAmLS02IHtcbiAgICAgIHRvcDogMyU7XG4gICAgICByaWdodDogMTMuNSU7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgaGVpZ2h0OiAxOSU7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgJi1jb3B5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlN3ZWV0U2Fuc1Byby1SZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gICZfX2N1cnNvciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNTI0NzFFO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI0MnB4O1xuICAgIGhlaWdodDogMjQycHg7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwKSk7XG4gIH1cblxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzIlLCAtNTAlKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgcmlnaHQ6IDUwJTsgIFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLmhhbmRib29rLXdyYXBwZXIge1xuICBmb250LXNpemU6IDIycHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBwYWRkaW5nOiA4MHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogMTQwcHggMjBweCA4MHB4O1xuICB9XG59XG5cbi5yb3ctY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZvcm0tY29weS1hZnRlciB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIHdpZHRoOiA0MS42NjY2NyU7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uZm9ybS1jb3B5LWFmdGVyIGEsXG4ucmVjYXB0Y2hhLW5vdGljZSBhIHtcblx0Y29sb3I6ICNiYmE1N2E7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZm9ybS1jb3B5LWFmdGVyIGE6OmFmdGVyLFxuLnJlY2FwdGNoYS1ub3RpY2UgYTo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMXB4O1xufVxuXG4uZm9ybS1jb3B5LWFmdGVyIGE6aG92ZXI6OmFmdGVyLFxuLnJlY2FwdGNoYS1ub3RpY2UgYTpob3Zlcjo6YWZ0ZXIge1xuXHRiYWNrZ3JvdW5kOiBjdXJyZW50Y29sb3I7XG5cdHRyYW5zZm9ybTogc2NhbGVYKDEpXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblx0LmNhcmVlcnMtdmFsdWVzIC5saXN0LXBlcmtzIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdH1cbn1cblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICBib3R0b206IDE1MHB4ICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgYm90dG9tOiAxMDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5hYm91dC1ldmVudHMge1xuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDUlIDU1JTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjOEE3OTVFO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweCAxMjBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMjBweCA4MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlN3ZWV0U2Fuc1Byby1NZWRpdW1cIjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICAgIG1hcmdpbjogMCAwIDMwcHggMCAhaW1wb3J0YW50OyAgXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6IFwiUFBGR0xcIjtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIG1hcmdpbjogMCAwIDMwcHggMDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG4gIH1cblxuICAmX19jb3B5IHtcbiAgICBmb250LWZhbWlseTogXCJQUEZHTFwiO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gICAgbWFyZ2luOiAwIDAgNDBweCAwICFpbXBvcnRhbnQ7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiA3OCAvIDcyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19zbGlkZXItd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fc2xpZGVyLWlubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGVhc2UsIHRyYW5zZm9ybSAwLjZzIGVhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2RvdHMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAzNHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDMycHggMThweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHdpZHRoOiA1MnB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgcGFkZGluZzogMjVweCA4cHg7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5kb3QtaXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAgICAgLmRvdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjOEE3OTVFO1xuICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSBhIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcblxuICAgICAgICAuZG90IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5pbnN0YWdyYW0tY3RhIHtcbiAgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMCAhaW1wb3J0YW50OyAgXG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICB9XG5cbiAgLmgxIHtcbiAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgLmljb24tbGlua2VkaW4gaSB7XG4gICAgY29sb3I6ICNDOEFBN0M7XG4gICAgd2lkdGg6IDM4cHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuXG4gICAgcGF0aCB7XG4gICAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0biAudGV4dCB7XG4gICAgY29sb3I6ICM1MjQ3MUU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICB9XG5cbiAgLy8gSW5zdGFncmFtIGltYWdlcyBzdHlsaW5nIC0gZml4ZWQgMzYweDM2MHB4IHdpdGggcmV0aW5hIHN1cHBvcnRcbiAgLmhvcml6b250YWwtaW1hZ2Utc2Nyb2xsZXIge1xuICAgICNpbnN0YWdyYW0tZHJhZy1zbGlkZXIge1xuICAgICAgLnNsaWRlLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzYwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzNjBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgICAgICAgLy8gUmV0aW5hIGRpc3BsYXkgc3VwcG9ydCAtIGVuc3VyZSBoaWdoLXJlcyBpbWFnZXMgYXJlIHVzZWRcbiAgICAgICAgICAgIEBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcbiAgICAgICAgICAgICAgLy8gVGhlIHNyY3NldCBpbiB0aGUgSFRNTCB0ZW1wbGF0ZSBhbHJlYWR5IGhhbmRsZXMgcmV0aW5hIGltYWdlc1xuICAgICAgICAgICAgICAvLyBUaGlzIGVuc3VyZXMgcHJvcGVyIHNjYWxpbmdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFib3V0LWhpc3Rvcnkge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiA4NDBweDtcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiU3dlZXRTYW5zUHJvLU1lZGl1bVwiO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG4gICAgbWFyZ2luOiAwIDAgMzBweCAwICFpbXBvcnRhbnQ7ICBcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGNvbG9yOiAjNTI0NzFFO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogNjBweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgZ2FwOiA0MHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICB9XG5cbiAgJl9fY29weSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuICB9XG59IiwiLmljb24tbGlnYXR1cmUge1xuICAgICYuc21hbGwge1xuICAgICAgICB3aWR0aDogY2xhbXAoMjhweCwgMS43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIGhlaWdodDogY2xhbXAoMThweCwgMS4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgfVxuXG4gICAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS44NzUwMDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICB9XG59XG5cbi5wYXR0ZXJuIHtcbiAgICAmLmdyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xuICAgIH1cblxuICAgICYuZ29sZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRnb2xkO1xuICAgIH1cblxuICAgICYub25lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xNTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vYXNzZXRzL3BhdHRlcm4tMDEuc3ZnJykgcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9uZTo6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuXG4gICAgJi5zcXVhcmUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDIuMTg3NTAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgfVxuXG4gICAgJi5mdWxsLWJhY2tncm91bmQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3F1YXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZy1ib3R0b206IDQyLjE4NzUwMDAwMDAwMDAwMDAwMDAwcmVtO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgJi5saWdodC1jcmVhbSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcbiAgICB9XG59XG5cbi5pY29uLXBsdXMge1xuICAgIHdpZHRoOiBjbGFtcCgxNXB4LCAuOTM3NTAwMDAwMDAwMDAwMDAwMDByZW0sIC45Mzc1MDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgaGVpZ2h0OiBjbGFtcCgxNXB4LCAuOTM3NTAwMDAwMDAwMDAwMDAwMDByZW0sIC45Mzc1MDAwMDAwMDAwMDAwMDAwMHJlbSk7XG59XG5cbi5tb3VzZS1jaXJjbGUge1xuICAgIHdpZHRoOiBjbGFtcCg4MHB4LCA1LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA1LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICBoZWlnaHQ6IGNsYW1wKDgwcHgsIDUuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDUuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAvLyBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgLmljb24tbW91c2UtcGx1cyB7XG4gICAgICAgIHdpZHRoOiBjbGFtcCgyMHB4LCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgaGVpZ2h0OiBjbGFtcCgyMHB4LCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICB9XG5cbiAgICAmLmxpZ2h0LWNyZWFtIHtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuXG4gICAgICAgIHN2Zy5pY29uLW1vdXNlLXBsdXMgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICB9XG59XG4ubW91c2UtY2lyY2xlLFxuLm1vdXNlLWNpcmNsZS1kcmFnIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXhib3gsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICYubGlnaHQtY3JlYW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG4gICAgfVxufVxuXG4ubW91c2UtY2lyY2xlLWRyYWcge1xuICAgIHdpZHRoOiBjbGFtcCg4MHB4LCA2LjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA2LjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTsgLy8gMTAwXG4gICAgaGVpZ2h0OiBjbGFtcCg4MHB4LCA2LjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA2LjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTsgLy8gMTAwXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDApKTtcbn0iLCIubGlzdC1ldmVudHMtcG9zdHMsXG4ubGlzdC1wb3J0Zm9saW8tcG9zdHMge1xuICAgIHBhZGRpbmctbGVmdDogJGdyZW07XG4gICAgcGFkZGluZy1yaWdodDogJGdyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogJGdyZW0gKiA5ICRncmVtICogOTtcbiAgICBjb2x1bW4tZ2FwOiAkZ3JlbTtcbiAgICByb3ctZ2FwOiAkZ3JlbTtcblxuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMjAwcHgsIDI2LjM5dncsIDQwMHB4KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDYwMG1zIG9wYWNpdHkgJGN1YmljMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgW2NsYXNzXj1pY29uLXBvcnRmb2xpby1dIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAuaWNvbi1wb3J0Zm9saW8tZmxvd2VycyB7XG4gICAgICAgIHdpZHRoOiAkZ3JlbSAqIDk7XG4gICAgICAgIGxlZnQ6IC0kZ3JlbSAvIDI7XG4gICAgICAgIC8vIHRvcDogMTEwJTtcbiAgICAgICAgYm90dG9tOiAtMTEuODVyZW07XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMzBkZWcpKTtcblxuICAgIH1cblxuICAgIC5pY29uLXBvcnRmb2xpby1lZ2djb3JucyB7XG4gICAgICAgIHdpZHRoOiAkZ3JlbSAqIDguMjU7XG4gICAgICAgIHJpZ2h0OiAtJGdyZW0gKiA0O1xuICAgICAgICAvLyB0b3A6IDExMCU7XG4gICAgICAgIGJvdHRvbTogLSRncmVtICogMi44NTtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC0xNDguNDlkZWcpKTtcbiAgICB9XG5cbiAgICAuaWNvbi1wb3J0Zm9saW8tcGluZS1jb25lIHtcbiAgICAgICAgd2lkdGg6ICRncmVtICogMTAuMjU7XG4gICAgICAgIGxlZnQ6IC0kZ3JlbSAqIDExO1xuICAgICAgICB0b3A6IC0kZ3JlbSAqIDQuNTtcbiAgICB9XG5cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgyMDBweCwgMjYuMzl2dywgNTAwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuaW5uZXI6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gLmJ0biB7XG4gICAgICAgIC8vICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAvLyB9XG5cblxuICAgICAgICAuaW5uZXI6aG92ZXIge1xuICAgICAgICAgICAgLmljb24gaW1nIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2UgaW1nLFxuICAgICAgICAgICAgLnBvcnRmb2xpby1pbWFnZSBpbWcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5pbm5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG5cbiAgICAgICAgbGkuc2Vjb25kLXRvLWVuZC1vZi1jeWNsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nLTEwLmVuZC1vZi1jeWNsZSB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMTAuMDAwMDAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nLTEyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMS43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nLTcge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDkuMzc1MDAwMDAwMDAwMDAwMDAwMDByZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNy41MDAwMDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nLTYge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEyLjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmctMTAge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE3LjAwMDAwMDAwMDAwMDAwMDAwMDAwcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cbiAgICAgICAgLmV2ZW50cy1pdGVtLFxuICAgICAgICAucG9ydGZvbGlvLWl0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRnYyAqIDEwLjUgJGdjICogMTAuNTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAkZ2MgKiAyMTtcblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDMwMHB4LCAyNi4zOXZ3LCA0MDBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saXN0LXBvcnRmb2xpby1wb3N0cyAuaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wb3N0LXByZXNzLWhlcm8sXG4ucG9zdC1wb3J0Zm9saW8taGVybyB7XG4gICAgYmFja2dyb3VuZDogJGRhcms7XG5cbiAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG59XG5cbi5wb3N0LXBvcnRmb2xpby1oZXJvIHtcbiAgICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAuZy05IHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgLmctOSB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogY2xhbXAoMTAwcHgsIDE0LjM3NTAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxNC4zNzUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2xhbXAoMTQwcHgsIDcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCA4Ljc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA4Ljc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgxMDBweCwgOC43NTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAgICAgLy8gbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIC8vIGhlaWdodDogMTAwdmg7XG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAgICAgLy8gbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gY2xhbXAoODBweCwgOHZ3LCA4dncpKTtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIGNsYW1wKDgwcHgsIDh2dywgOHZ3KSk7XG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiBjbGFtcCg4MHB4LCAxMHZ3LCAxMHZ3KTtcblxuICAgICAgICAuZy05IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDkwdmg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogY2xhbXAoODBweCwgOHZ3LCA4dncpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDE0MHB4LCA4dncsIDh2dyk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIHNwYWNlLWFyb3VuZCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA1NzdweCkge1xuICAgICAgICAuZy05IHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiBjbGFtcCgxMjBweCwgNTAuMjMwNzY5MjMwNzY5MjMwNzY5MjN2dywgNTAuMjMwNzY5MjMwNzY5MjMwNzY5MjN2dyk7XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjUuNTg5NzQzNTg5NzQzNTg5NzQzNTh2dztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuXG4gICAgICAgIC8vIHBhZGRpbmctdG9wOiBjbGFtcCgxMjBweCwgNjkuMjMwNzY5MjMwNzY5MjMwNzY5MjN2dywgNjkuMjMwNzY5MjMwNzY5MjMwNzY5MjN2dyk7XG4gICAgICAgIC5nLTkge1xuICAgICAgICAgICAgLy8gcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCA0NS4yMzA3N3Z3LCA0NS4yMzA3N3Z3KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiA0My41ODk3NDM1ODk3NDM1ODk3NDM1OHZ3O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwLjU4OTc0NHZ3O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGlzdC1zdGF0cyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgfVxuXG4gICAgaDMsXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDExLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGlubGluZS1mbGV4KCk7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA1NzdweCkge1xuXG4gICAgICAgIGxpLFxuICAgICAgICBsaS5nLTMge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE4MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cblxuICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG5cbiAgICAgICAgbGksXG4gICAgICAgIGxpLmctMyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMi41NjQxMDI1NjQxMDI1NjQxMDI1NnZ3O1xuICAgICAgICAgICAgd2lkdGg6IGNsYW1wKDEwMHB4LCAzMy4zMzMzMzMzMzMzMzMzMzMzMzMzM3Z3LCAzMy4zMzMzMzMzMzMzMzMzMzMzMzMzM3Z3KTtcbiAgICAgICAgICAgIGhlaWdodDogY2xhbXAoMTAwcHgsIDMzLjMzMzMzMzMzMzMzMzMzMzMzMzMzdncsIDMzLjMzMzMzMzMzMzMzMzMzMzMzMzMzdncpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCA2LjE1Mzg0NjE1Mzg0NjE1Mzg0NjE1dncsIDYuMTUzODQ2MTUzODQ2MTUzODQ2MTV2dyk7IC8vIDI0XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40MTY2NjY2NjY2NjY2NjY2NjY2NjsgLy8gMzRcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBvcnRmb2xpby1pbnRyb2R1Y3Rpb24ge1xuICAgIFtjbGFzc149Zy1dIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgICAgLy8gd2lkdGg6IDEzMHB4O1xuICAgICAgICAvLyBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICAvLyBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBjb2xvcjogJGRhcms7XG5cbiAgICAgICAgJi5zaWJ0aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICsucG9ydGZvbGlvLXJlbGF0ZWQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgLmctMTAge1xuICAgICAgICAgICAgd2lkdGg6ICRnYyAqIDE0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucG9ydGZvbGlvLWdhbGxlcnkge1xuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBwKy5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIC5idG4gLnRleHQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xuICAgIH1cblxuICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDkwcHg7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5nLTYge1xuICAgICAgICAgICAgd2lkdGg6ICRnYyAqIDk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA1NzdweCkge1xuICAgICAgICAuaW5uZXItd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzYuMjgyMDUxMjgyMDUxMjgyMDUxMjh2dztcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2lwZSB7XG4gICAgICAgICAgICB0b3A6IGNsYW1wKDQ1cHgsIGNhbGMoMzYuMjgyMDUxMjgyMDUxMjgyMDUxMjh2dyAtIDYwcHgpLCBjYWxjKDM2LjI4MjA1MTI4MjA1MTI4MjA1MTI4dncgLSA2MHB4KSk7XG4gICAgICAgIH1cblxuICAgICAgICAucm93IC5wYXR0ZXJuLmdyZWVuIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3MHZ3O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC5wYXR0ZXJuIHtcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRncmVtICogMjY7XG4gICAgICAgICAgICAgICAgbGVmdDogLSRncmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAuMDAwMDAwMDAwMDAwMDAwMDAwMDB2dztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5nLTYge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBvcnRmb2xpby1nYWxsZXJ5LWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDY1JTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG4gICAgfVxuXG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuc3VidGl0bGUuc3dpcGUge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleGJveCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkZ3JlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjZHJhZy1zbGlkZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nYy0xMyB7XG4gICAgICAgICAgICB3aWR0aDogJGdjICogMjI7XG4gICAgICAgIH1cblxuICAgICAgICAuZ2MtOSB7XG4gICAgICAgICAgICB3aWR0aDogJGdjICogMTY7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGUge1xuICAgICAgICAgICAgdG9wOiA1OHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgIC5pbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MS4yODIwNTEyODIwNTEyODIwNTEyOHZ3O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ib2R5LnNpbmdsZS1wb3J0Zm9saW8gI2RyYWctaWNvIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRkYXJrLCAwLjA1KTtcbn1cblxuLmljb24taWxsdXN0cmF0aW9uLXNpbmdsZS1wb3J0Zm9saW8tcGluZS1jb25lIHtcbiAgICB3aWR0aDogJGdjICogMTA7XG4gICAgbGVmdDogLSRnYyAqIDI7XG4gICAgdG9wOiAzNSU7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtMzBkZWcpKTtcblxuICAgIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG59XG5cbi5ldmVudHMtcmVsYXRlZCxcbi5wb3J0Zm9saW8tcmVsYXRlZCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmVsYXRlZC1wb3J0Zm9saW8tbGlua3Mge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRnb2xkLCAwLjIpO1xuICAgICAgICAvLyBwYWRkaW5nLXRvcDogY2xhbXAoMjBweCwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiBjbGFtcCgyMHB4LCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAxLjI1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxODcsIDE2NSwgMTIyLCAwLjIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMi41ZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAvLyBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleCwgY2VudGVyLCBjZW50ZXIpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRnb2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgLm9uZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnR3byB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uc3RhdC10b2dnbGUge1xuICAgIHdpZHRoOiBjbGFtcCg2NnB4LCA0LjEyNTAwMDAwMDAwMDAwMDAwMDAwcmVtLCA4MHB4KTtcbiAgICBoZWlnaHQ6IGNsYW1wKDY2cHgsIDQuMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDgwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtY3JlYW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDY2cHg7XG5cbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oaW5saW5lLWZsZXgsIGNlbnRlciwgY2VudGVyKTtcblxuICAgIC5pY29uLXBsdXMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgc3ZnIHBhdGgge1xuICAgICAgICAvLyBAaW5jbHVkZSB0cmFuc2l0aW9uKDQwMG1zIGFsbCAkY3ViaWMpO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHN2ZyBwYXRoOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4uc3VidGl0bGUuc3dpcGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogJGxpZ2h0LWNyZWFtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZlYXR1cmVkLXByZXNzLXNsaWRlciB7XG4gICAgcGljdHVyZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIC8vICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAvLyAmLmFjdGl2ZSBpbWcge1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlubmVyLXdyYXBwZXIge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uZGF0ZXMsXG4udGl0bGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG59XG5cbi5mZWF0dXJlZC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIHNwYWNlLWJldHdlZW4pO1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5kYXRlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC8vIHBhZGRpbmctdG9wOiBjbGFtcCgxMjBweCwgMTYuNjI1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDE2LjYyNTAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDEyMHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgLy8gcGFkZGluZy10b3A6IDEyMHB4O1xuICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDgxcHgsIDUuMDYyNTAwMDAwMDAwMDAwMDAwMDByZW0sIDUuMDYyNTAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNDFweCwgNS4wNjI1cmVtLCA4MHB4KTtcblxuICAgICAgICAvLyAuZmVhdHVyZWQtcG9zdC10aW1lciB7XG4gICAgICAgIC8vICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTAwcHgsIDguMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0sIDguMTI1MDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTAwcHgsIDh2dywgOHZ3KTtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtICN7Y2xhbXAoMTAwcHgsIDh2dywgOHZ3KX0pO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNTc3cHgpIHtcbiAgICAgICAgLy8gcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCA0Mi43OTQ4NzE3OTQ4NzE3OTQ4NzE3OXZ3LCA0Mi43OTQ4NzE3OTQ4NzE3OTQ4NzE3OXZ3KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgLy8gcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCA3MS43OTQ4NzE3OTQ4NzE3OTQ4NzE3OXZ3LCA3MS43OTQ4NzE3OTQ4NzE3OTQ4NzE3OXZ3KTtcbiAgICB9XG59XG5cbi5mZWF0dXJlZC1wb3N0LXRpbWVyIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBmbGV4LXRyaW8oZmxleCwgY2VudGVyLCBjZW50ZXIpO1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgLy8gd2lkdGg6IDZweDtcbiAgICAgICAgICAgIC8vIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjUpKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oNDAwbXMgdHJhbnNmb3JtICRjdWJpYzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIC8vIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiBjbGFtcCgxMDBweCwgOC4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSwgOC4xMjUwMDAwMDAwMDAwMDAwMDAwMHJlbSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNTc3cHgpIHtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogY2xhbXAoMTAwcHgsIDM2LjI4MjA1MTI4MjA1MTI4MjA1MTI4dncsIDM2LjI4MjA1MTI4MjA1MTI4MjA1MTI4dncpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiBjbGFtcCgxMDBweCwgNTEuMjgyMDUxMjgyMDUxMjgyMDUxMjh2dywgNTEuMjgyMDUxMjgyMDUxMjgyMDUxMjh2dyk7XG4gICAgfVxufVxuXG4ucG9zdC1saXN0LXByZXNzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuXG4gICAgLmJ0bi5idG4tbGluZS5nb2xkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBpbmxpbmUtZmxleCgpO1xuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgW2NsYXNzXj1nLV0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIC8vIHdpZHRoOiAkZ3JlbSAqIDIyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIC8vIGxlZnQ6ICRncmVtIC8gMjtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRnb2xkLCAwLjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3goKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3JlbSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmVtO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmctMyxcbiAgICAgICAgW2NsYXNzXj1nLV0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nLTYge1xuICAgICAgICAgICAgd2lkdGg6ICRncmVtICogMTM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLnRpdGxlIHtcbiAgICAgICAgLnRpdGxlcyB7XG4gICAgICAgICAgICB3aWR0aDogJGdyZW0gKiAyMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC5zdWJ0aXRsZSB7XG4gICAgICAgIC5kYXRlcyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuYm9keS5wcmVzcyAubG9hZC1tb3JlLXNlY3Rpb24gLmJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxvYWQtbW9yZS1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94KCk7XG59XG5cbi5wb3N0LXByZXNzLWhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXG4gICAgLmctMTIge1xuICAgICAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDEwMHB4LCAxMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMTEuMjUwMDAwMDAwMDAwMDAwMDAwMDByZW0pXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAuZy0xMiB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2xhbXAoMTIwcHgsIDcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0sIDcuNTAwMDAwMDAwMDAwMDAwMDAwMDByZW0pO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDEwMHB4LCA4Ljc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA4Ljc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7fVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC8vIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG5cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nLTEyIHtcbiAgICAgICAgICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgLy8gbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG5cbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGZsZXgtdHJpbyhmbGV4LCBjZW50ZXIsIHNwYWNlLWJldHdlZW4pO1xuICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAuYnRuIHtcbiAgICAgICAgLy8gICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLy8gICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDU3N3B4KSB7XG4gICAgICAgIC8vIHBhZGRpbmctdG9wOiBjbGFtcCgxMjBweCwgNTEuNzk0ODcxNzk0ODcxNzk0ODcxNzl2dywgNTEuNzk0ODcxNzk0ODcxNzk0ODcxNzl2dyk7XG4gICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiAxMjBweDtcblxuICAgICAgICAvLyAuYnRuIHtcbiAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDEwMHB4LCAzMi43MTc5NDg3MTc5NDg3MTc5NDg3MXZ3LCAzMi43MTc5NDg3MTc5NDg3MTc5NDg3MXZ3KTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuICAgICAgICAvLyBwYWRkaW5nLXRvcDogY2xhbXAoMTIwcHgsIDcxLjc5NDg3MTc5NDg3MTc5NDg3MTc5dncsIDcxLjc5NDg3MTc5NDg3MTc5NDg3MTc5dncpO1xuICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG5cbiAgICAgICAgLy8gLmJ0biB7XG4gICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxMDBweCwgNDguNzE3OTQ4NzE3OTQ4NzE3OTQ4NzF2dywgNDguNzE3OTQ4NzE3OTQ4NzE3OTQ4NzF2dyk7XG4gICAgICAgIC8vIH1cbiAgICB9XG59XG5cbi5wcmVzcy1oZXJvLFxuLnByZXNzLXBvc3RzLXNlY3Rpb24ge1xuICAgIC5idG4gLnRleHQge1xuICAgICAgICBmb250LWZhbWlseTogJHN3LW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4ucG9zdC1wcmVzcy1jb250ZW50IHtcbiAgICAuaW50cm8tdGV4dCB7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogMS44NzUwMDAwMDAwMDAwMDAwMDAwMHJlbTsgLy8gMzBcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMzMzMzMzMzMzMzM7IC8vIDQwXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRnb2xkO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDEwMHB4LCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtLCA3LjUwMDAwMDAwMDAwMDAwMDAwMDAwcmVtKTtcblxuICAgICAgICAuaW50cm8tdGV4dDo6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6ICRncmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gICAgICAgIC5pbnRyby10ZXh0IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQxNjY2NjY2NjY2NjY2NjY2NjY2OyAvLyAzNFxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRncmVtICogNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbW1vbi1jb250ZW50IHtcblxuICAgIGEsXG4gICAgbGksXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSwgMS4yNTAwMDAwMDAwMDAwMDAwMDAwMHJlbSk7IC8vIDIwXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYwMDAwMDAwMDAwMDAwMDAwMDAwOyAvLyAzMlxuICAgIH1cblxuICAgIC8vIHBpY3R1cmUgPiBpbWcsXG4gICAgLy8gaW1nLFxuICAgIG9sLFxuICAgIHVsLFxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBmaWd1cmUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsIGxpOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ29sZDtcbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50O1xuXG4gICAgICAgIGxpOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIwXCIgY291bnRlcihvbC1jb3VudCk7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogb2wtY291bnQ7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTJweCwgLjc1MDAwMDAwMDAwMDAwMDAwMDAwcmVtLCAuNzUwMDAwMDAwMDAwMDAwMDAwMDByZW0pOyAvLyAxMlxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNjY2NjY2NjY2NjY2NjY2NjY2NjY7IC8vIDMyXG4gICAgICAgICAgICBjb2xvcjogJGdvbGQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJHN3LW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICBjb2xvcjogcmdiYSgkZGFyaywgMC41KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuYmxvY2txdW90ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1jcmVhbTtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogJGdjO1xuICAgICAgICAgICAgaGVpZ2h0OiAkZ2M7XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRnYyAqIDM7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JlbSAkZ3JlbSAkZ3JlbSAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbGVmdDogLSRnYyAqIDM7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRnYyAqIDY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZ2MgKiA4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZ2M7XG4gICAgICAgICAgICAgICAgbGVmdDogLSRnYyAqIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2MgKiA1O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAkZ3JlbSAzMHB4IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtJGdjICogNjtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGdjICogMTI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZ2MgKiAxNztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGdjICogMjtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtJGdjICogNDtcbiAgICAgICAgICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgdWwgbGk6OmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIHRvcDogMTdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHVsIGxpOjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6ICRncmVtO1xuICAgICAgICAgICAgdG9wOiAxN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRncmVtICogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBvc3QtcHJlc3MtY29udGVudCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuXG4ucG9zdC1wcmVzcy1yZWxhdGVkLXNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHdpZHRoOiAkZ3JlbSAqIDIyO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ29sZCwgMC4yKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wb3N0LXByZXNzLXJlbGF0ZWQge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZ3JpZDtcblxuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogJHN3LW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDFweCkge1xuICAgICAgICAmLnJvdyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRnY3AgKiA3ICRnY3AgKiA3ICRnY3AgKiA3O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogJGdjcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRncmVtICogNi41ICRncmVtICogNi41ICRncmVtICogNi41O1xuICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRncmVtICogNiAkZ3JlbSAqIDYgJGdyZW0gKiA2O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1cmVtIDI1cmVtIDI1cmVtO1xuICAgICAgICBjb2x1bW4tZ2FwOiAkZ3JlbTtcblxuICAgICAgICAvLyA0MjAgLSAyMCA9IDQwMFxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICRncmVtICogMjI7XG4gICAgICAgIHJvdy1nYXA6IDMwcHg7XG4gICAgfVxufVxuXG4uc29jaWFsLXNoYXJlIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZmxleC10cmlvKGZsZXgsIGNlbnRlciwgY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWNyZWFtO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGRhcms7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmFjZWJvb2sgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICB9XG5cbiAgICAubGlua2VkaW4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICB9XG5cbiAgICAudHdpdHRlciBzdmcge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgIH1cbn1cblxuXG4jaW5zdGFncmFtLWRyYWctc2xpZGVyIC5zbGlkZS1pdGVtIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gICAgLmFic29sdXRlLWxpbmsge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbn1cblxuI2luc3RhZ3JhbS1kcmFnLXNsaWRlcixcbiNkcmFnLXNsaWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGhlaWdodDogNTB2dztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8vIG1hcmdpbi10b3A6IDQuMTY2NjY2NjY2N3Z3O1xuXG4gICAgLnNsaWRlci1pbm5lciB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnNsaWRlLWl0ZW0ge1xuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogY291bnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAvLyB3aWR0aDogNDV2dyAhaW1wb3J0YW50O1xuICAgICAgICAvLyBoZWlnaHQ6IDUwdnc7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLy8gcGFkZGluZzogMCA1dncgMCAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAvL29iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAvLyAgICAgaGVpZ2h0OiA4MHZ3O1xuXG4gICAgLy8gICAgIC5zbGlkZS1pdGVtIHtcbiAgICAvLyAgICAgICAgIHdpZHRoOiA4MHZ3ICFpbXBvcnRhbnQ7XG4gICAgLy8gICAgICAgICBoZWlnaHQ6IDgwdnc7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG5cbiNkcmFnLXNsaWRlciB7XG4gICAgaGVpZ2h0OiA1MHZ3O1xuICAgIC8vIG1hcmdpbi10b3A6IDQuMTY2NjY2NjY2N3Z3O1xuXG4gICAgLnNsaWRlLWl0ZW0ge1xuICAgICAgICB3aWR0aDogNDV2dyAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDUwdnc7XG4gICAgICAgIHBhZGRpbmc6IDAgNXZ3IDAgMDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgaGVpZ2h0OiA4MHZ3O1xuXG4gICAgICAgIC5zbGlkZS1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwdnc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNhYm91dC1pbnN0YWdyYW0sXG4jaW5zdGFncmFtLWRyYWctc2xpZGVyIHtcbiAgICAvLyBoZWlnaHQ6IDMwdnc7XG4gICAgLy8gb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICBmaWd1cmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgZmlndXJlLFxuICAgIGZpZ3VyZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmhvcml6b250YWwtaW1hZ2Utc2Nyb2xsZXIge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgIH1cblxuICAgIC5zbGlkZXItaW5uZXIge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAtJGdjO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAuc2xpZGUtaXRlbSB7XG4gICAgICAgICAgICAmLmdjLTYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZ2MgKiA2ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkZ2MgKiA2ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZ2MtMyxcbiAgICAgICAgICAgICYuZ2MtNCxcbiAgICAgICAgICAgICYuZ2MtNSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdncgLSAxMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGhlaWdodDogNjUwcHg7XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0obm9uZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpZGUtaXRlbSB7XG4gICAgICAgICAgICAmLmdjLTYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZ3IC0gMTBweCk7XG5cbiAgICAgICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDEwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5nYy0zLFxuICAgICAgICAgICAgJi5nYy00LFxuICAgICAgICAgICAgJi5nYy01IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDEwcHgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2dyAtIDEwcHgpO1xuXG4gICAgICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZ2MtNSB7XG4gICAgICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDEwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5nYy02IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAmLmZpcnN0LXNsaWRlIGZpZ3VyZSB7XG4gICAgICAgICAgICAvLyAgICAgd2lkdGg6ICRnYyAqIDE5O1xuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAvLyAmLmFkanVzdC1zbGlkZSBmaWd1cmUge1xuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAkZ2MgKiAyMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy8gfVxuXG4gICAgICAgICAgICAvLyAmLmFkanVzdC1zbGlkZSsuZ2MtNSBmaWd1cmUge1xuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAkZ2MgKiAxOSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiAkZ2M7XG4gICAgICAgICAgICAvLyB9XG5cblxuICAgICAgICAgICAgLy8gJi5nY2MtNSsuZ2MtNDpub3QoLmZpcnN0LXNsaWRlKSBmaWd1cmUge1xuICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1sZWZ0OiAkZ2M7XG4gICAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICAgIC8vICYuZ2MtNSsuZ2MtMyBmaWd1cmUsXG4gICAgICAgICAgICAvLyAmLmdjLTUrLmdjLTQgZmlndXJlIHtcbiAgICAgICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogJGdjO1xuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAkZ2MgKiAxOCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG5cbiNkcmFnLWljbyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRnYyAqIDEuNTtcbiAgICBoZWlnaHQ6ICRnYyAqIDEuNTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWNyZWFtO1xuXG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDApKTtcblxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRnYyAqIDEuNTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG5cbiAgICAmLmlzLW9uIHt9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG5cbiNjb250ZW50LXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuXG4gICAgLmxpc3QtZXZlbnRzLXBvc3RzLFxuICAgIC5saXN0LXBvcnRmb2xpby1wb3N0cyB7XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoNTAlKSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIC50ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0YXRzLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vYmlsZS1pb3MtZGV2aWNlIHtcbiAgICAgICAgLnBvc3QtcG9ydGZvbGlvLWhlcm8ge1xuICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDE0MHB4LCA4dncsIDh2dyk7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3tjbGFtcCgxMDBweCwgOHZ3LCA4dncpfSk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5wb3N0LXByZXNzLWhlcm8gLmctMTIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDE2MHB4LCA4dncsIDh2dyk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC1wb3J0Zm9saW8taGVybyAuZy0xOCB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTQwcHgsIDh2dywgOHZ3KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgyMDBweCwgOHZ3LCA4dncpXG4gICAgICAgIH1cblxuICAgICAgICAvLyAucHJlc3MtaGVybyAuZmVhdHVyZWQtY29udGVudCB7XG4gICAgICAgIC8vICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3tjbGFtcCgxMDBweCwgOHZ3LCA4dncpfSk7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAucHJlc3MtaGVybyAuZmVhdHVyZWQtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJlc3MtaGVybyAuZmVhdHVyZWQtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDtcbiAgICB9XG5cbiAgICAubGlzdC1ldmVudHMtcG9zdHMuZXZlbnRzLXNsaWRlci1yZWd1bGFyIC5ldmVudHMtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgIGRpdi5pbm5lciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYS5idG4ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDEwMCUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LWV2ZW50cy1wb3N0cy5ldmVudHMtc2xpZGVyLXJlZ3VsYXIgLmV2ZW50cy1pdGVtLFxuICAgIC5saXN0LWV2ZW50cy1wb3N0cyAuZXZlbnRzLWl0ZW0ge1xuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjUuNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg1MCUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaW5nbGUtcG9ydGZvbGlvIC5saXN0LXBvcnRmb2xpby1wb3N0cyAucG9ydGZvbGlvLWl0ZW0gLmJ0biB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNTc3cHgpIHtcbiAgICAucG9ydGZvbGlvLXNsaWRlci1yZWd1bGFyLmxpc3QtcG9ydGZvbGlvLXBvc3RzIC5pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgyMDBweCwgMzAuMzl2dywgMzAwcHgpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmxpc3QtcG9ydGZvbGlvLXBvc3RzIC5wb3J0Zm9saW8taXRlbSAuaW5uZXIgLmJ0biB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICB9XG5cbiAgICAubGlzdC1ldmVudHMtcG9zdHMuZXZlbnRzLXNsaWRlci1yZWd1bGFyLFxuICAgIC5saXN0LWV2ZW50cy1wb3N0cyxcbiAgICAubGlzdC1wb3J0Zm9saW8tcG9zdHMge1xuICAgICAgICByb3ctZ2FwOiAwcHg7XG5cbiAgICAgICAgLnBvcnRmb2xpby1pdGVtIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IGNsYW1wKDE2LjM5dncsIDYzLjM5dncsIDQwMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG5cbiAgICAubGlzdC1ldmVudHMtcG9zdHMuZXZlbnRzLXNsaWRlci1yZWd1bGFyLFxuICAgIC5saXN0LWV2ZW50cy1wb3N0cyxcbiAgICAubGlzdC1wb3J0Zm9saW8tcG9zdHMge1xuICAgICAgICAucG9ydGZvbGlvLWl0ZW0ge1xuICAgICAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoMTYuMzl2dywgNjMuMzl2dywgNDAwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/