@font-face {
    font-family: Chicago;
    src: url(../fonts/ChicagoFLF.woff2) format("woff2"), url(../fonts/ChicagoFLF.woff) format("woff");
    font-display: swap;
    font-weight: 400;
    font-style: normal;
    font-stretch: normal
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

.video-wrapper {
    background-color: #000;
    margin: 0 auto;
    max-width: 100%;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
    width: 100%
}

.video-wrapper iframe,
.video-wrapper object {
    left: 0;
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width:576px) {
    .container {
        max-width: 540px
    }
}

@media (min-width:768px) {
    .container {
        max-width: 720px
    }
}

@media (min-width:992px) {
    .container {
        max-width: 960px
    }
}

@media (min-width:1200px) {
    .container {
        max-width: 1140px
    }
}

.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width:576px) {
    .container,
    .container-sm {
        max-width: 540px
    }
}

@media (min-width:768px) {
    .container,
    .container-md,
    .container-sm {
        max-width: 720px
    }
}

@media (min-width:992px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm {
        max-width: 960px
    }
}

@media (min-width:1200px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 1140px
    }
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px
}

.no-gutters {
    margin-right: 0;
    margin-left: 0
}

.no-gutters>.col,
.no-gutters>[class*=col-] {
    padding-right: 0;
    padding-left: 0
}

.col,
.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-lg,
.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-auto,
.col-md,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-auto,
.col-sm,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-auto,
.col-xl,
.col-xl-1,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-auto {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%
}

.row-cols-1>* {
    flex: 0 0 100%;
    max-width: 100%
}

.row-cols-2>* {
    flex: 0 0 50%;
    max-width: 50%
}

.row-cols-3>* {
    flex: 0 0 33.33333%;
    max-width: 33.33333%
}

.row-cols-4>* {
    flex: 0 0 25%;
    max-width: 25%
}

.row-cols-5>* {
    flex: 0 0 20%;
    max-width: 20%
}

.row-cols-6>* {
    flex: 0 0 16.66667%;
    max-width: 16.66667%
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
}

.col-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%
}

.col-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%
}

.col-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%
}

.col-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%
}

.col-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%
}

.col-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%
}

.col-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%
}

.col-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%
}

.order-first {
    order: -1
}

.order-last {
    order: 13
}

.order-0 {
    order: 0
}

.order-1 {
    order: 1
}

.order-2 {
    order: 2
}

.order-3 {
    order: 3
}

.order-4 {
    order: 4
}

.order-5 {
    order: 5
}

.order-6 {
    order: 6
}

.order-7 {
    order: 7
}

.order-8 {
    order: 8
}

.order-9 {
    order: 9
}

.order-10 {
    order: 10
}

.order-11 {
    order: 11
}

.order-12 {
    order: 12
}

.offset-1 {
    margin-left: 8.33333%
}

.offset-2 {
    margin-left: 16.66667%
}

.offset-3 {
    margin-left: 25%
}

.offset-4 {
    margin-left: 33.33333%
}

.offset-5 {
    margin-left: 41.66667%
}

.offset-6 {
    margin-left: 50%
}

.offset-7 {
    margin-left: 58.33333%
}

.offset-8 {
    margin-left: 66.66667%
}

.offset-9 {
    margin-left: 75%
}

.offset-10 {
    margin-left: 83.33333%
}

.offset-11 {
    margin-left: 91.66667%
}

@media (min-width:576px) {
    .col-sm {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }
    .row-cols-sm-1>* {
        flex: 0 0 100%;
        max-width: 100%
    }
    .row-cols-sm-2>* {
        flex: 0 0 50%;
        max-width: 50%
    }
    .row-cols-sm-3>* {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }
    .row-cols-sm-4>* {
        flex: 0 0 25%;
        max-width: 25%
    }
    .row-cols-sm-5>* {
        flex: 0 0 20%;
        max-width: 20%
    }
    .row-cols-sm-6>* {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }
    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }
    .col-sm-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }
    .col-sm-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }
    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%
    }
    .col-sm-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }
    .col-sm-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }
    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%
    }
    .col-sm-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }
    .col-sm-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%
    }
    .col-sm-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }
    .col-sm-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }
    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
    .order-sm-first {
        order: -1
    }
    .order-sm-last {
        order: 13
    }
    .order-sm-0 {
        order: 0
    }
    .order-sm-1 {
        order: 1
    }
    .order-sm-2 {
        order: 2
    }
    .order-sm-3 {
        order: 3
    }
    .order-sm-4 {
        order: 4
    }
    .order-sm-5 {
        order: 5
    }
    .order-sm-6 {
        order: 6
    }
    .order-sm-7 {
        order: 7
    }
    .order-sm-8 {
        order: 8
    }
    .order-sm-9 {
        order: 9
    }
    .order-sm-10 {
        order: 10
    }
    .order-sm-11 {
        order: 11
    }
    .order-sm-12 {
        order: 12
    }
    .offset-sm-0 {
        margin-left: 0
    }
    .offset-sm-1 {
        margin-left: 8.33333%
    }
    .offset-sm-2 {
        margin-left: 16.66667%
    }
    .offset-sm-3 {
        margin-left: 25%
    }
    .offset-sm-4 {
        margin-left: 33.33333%
    }
    .offset-sm-5 {
        margin-left: 41.66667%
    }
    .offset-sm-6 {
        margin-left: 50%
    }
    .offset-sm-7 {
        margin-left: 58.33333%
    }
    .offset-sm-8 {
        margin-left: 66.66667%
    }
    .offset-sm-9 {
        margin-left: 75%
    }
    .offset-sm-10 {
        margin-left: 83.33333%
    }
    .offset-sm-11 {
        margin-left: 91.66667%
    }
}

@media (min-width:768px) {
    .col-md {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }
    .row-cols-md-1>* {
        flex: 0 0 100%;
        max-width: 100%
    }
    .row-cols-md-2>* {
        flex: 0 0 50%;
        max-width: 50%
    }
    .row-cols-md-3>* {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }
    .row-cols-md-4>* {
        flex: 0 0 25%;
        max-width: 25%
    }
    .row-cols-md-5>* {
        flex: 0 0 20%;
        max-width: 20%
    }
    .row-cols-md-6>* {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }
    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }
    .col-md-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }
    .col-md-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }
    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%
    }
    .col-md-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }
    .col-md-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }
    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%
    }
    .col-md-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }
    .col-md-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%
    }
    .col-md-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }
    .col-md-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }
    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
    .order-md-first {
        order: -1
    }
    .order-md-last {
        order: 13
    }
    .order-md-0 {
        order: 0
    }
    .order-md-1 {
        order: 1
    }
    .order-md-2 {
        order: 2
    }
    .order-md-3 {
        order: 3
    }
    .order-md-4 {
        order: 4
    }
    .order-md-5 {
        order: 5
    }
    .order-md-6 {
        order: 6
    }
    .order-md-7 {
        order: 7
    }
    .order-md-8 {
        order: 8
    }
    .order-md-9 {
        order: 9
    }
    .order-md-10 {
        order: 10
    }
    .order-md-11 {
        order: 11
    }
    .order-md-12 {
        order: 12
    }
    .offset-md-0 {
        margin-left: 0
    }
    .offset-md-1 {
        margin-left: 8.33333%
    }
    .offset-md-2 {
        margin-left: 16.66667%
    }
    .offset-md-3 {
        margin-left: 25%
    }
    .offset-md-4 {
        margin-left: 33.33333%
    }
    .offset-md-5 {
        margin-left: 41.66667%
    }
    .offset-md-6 {
        margin-left: 50%
    }
    .offset-md-7 {
        margin-left: 58.33333%
    }
    .offset-md-8 {
        margin-left: 66.66667%
    }
    .offset-md-9 {
        margin-left: 75%
    }
    .offset-md-10 {
        margin-left: 83.33333%
    }
    .offset-md-11 {
        margin-left: 91.66667%
    }
}

@media (min-width:992px) {
    .col-lg {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }
    .row-cols-lg-1>* {
        flex: 0 0 100%;
        max-width: 100%
    }
    .row-cols-lg-2>* {
        flex: 0 0 50%;
        max-width: 50%
    }
    .row-cols-lg-3>* {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }
    .row-cols-lg-4>* {
        flex: 0 0 25%;
        max-width: 25%
    }
    .row-cols-lg-5>* {
        flex: 0 0 20%;
        max-width: 20%
    }
    .row-cols-lg-6>* {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }
    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }
    .col-lg-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }
    .col-lg-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }
    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%
    }
    .col-lg-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }
    .col-lg-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }
    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%
    }
    .col-lg-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }
    .col-lg-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%
    }
    .col-lg-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }
    .col-lg-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }
    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
    .order-lg-first {
        order: -1
    }
    .order-lg-last {
        order: 13
    }
    .order-lg-0 {
        order: 0
    }
    .order-lg-1 {
        order: 1
    }
    .order-lg-2 {
        order: 2
    }
    .order-lg-3 {
        order: 3
    }
    .order-lg-4 {
        order: 4
    }
    .order-lg-5 {
        order: 5
    }
    .order-lg-6 {
        order: 6
    }
    .order-lg-7 {
        order: 7
    }
    .order-lg-8 {
        order: 8
    }
    .order-lg-9 {
        order: 9
    }
    .order-lg-10 {
        order: 10
    }
    .order-lg-11 {
        order: 11
    }
    .order-lg-12 {
        order: 12
    }
    .offset-lg-0 {
        margin-left: 0
    }
    .offset-lg-1 {
        margin-left: 8.33333%
    }
    .offset-lg-2 {
        margin-left: 16.66667%
    }
    .offset-lg-3 {
        margin-left: 25%
    }
    .offset-lg-4 {
        margin-left: 33.33333%
    }
    .offset-lg-5 {
        margin-left: 41.66667%
    }
    .offset-lg-6 {
        margin-left: 50%
    }
    .offset-lg-7 {
        margin-left: 58.33333%
    }
    .offset-lg-8 {
        margin-left: 66.66667%
    }
    .offset-lg-9 {
        margin-left: 75%
    }
    .offset-lg-10 {
        margin-left: 83.33333%
    }
    .offset-lg-11 {
        margin-left: 91.66667%
    }
}

@media (min-width:1200px) {
    .col-xl {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%
    }
    .row-cols-xl-1>* {
        flex: 0 0 100%;
        max-width: 100%
    }
    .row-cols-xl-2>* {
        flex: 0 0 50%;
        max-width: 50%
    }
    .row-cols-xl-3>* {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }
    .row-cols-xl-4>* {
        flex: 0 0 25%;
        max-width: 25%
    }
    .row-cols-xl-5>* {
        flex: 0 0 20%;
        max-width: 20%
    }
    .row-cols-xl-6>* {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }
    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: 100%
    }
    .col-xl-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%
    }
    .col-xl-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%
    }
    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%
    }
    .col-xl-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%
    }
    .col-xl-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%
    }
    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%
    }
    .col-xl-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%
    }
    .col-xl-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%
    }
    .col-xl-9 {
        flex: 0 0 75%;
        max-width: 75%
    }
    .col-xl-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%
    }
    .col-xl-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%
    }
    .col-xl-12 {
        flex: 0 0 100%;
        max-width: 100%
    }
    .order-xl-first {
        order: -1
    }
    .order-xl-last {
        order: 13
    }
    .order-xl-0 {
        order: 0
    }
    .order-xl-1 {
        order: 1
    }
    .order-xl-2 {
        order: 2
    }
    .order-xl-3 {
        order: 3
    }
    .order-xl-4 {
        order: 4
    }
    .order-xl-5 {
        order: 5
    }
    .order-xl-6 {
        order: 6
    }
    .order-xl-7 {
        order: 7
    }
    .order-xl-8 {
        order: 8
    }
    .order-xl-9 {
        order: 9
    }
    .order-xl-10 {
        order: 10
    }
    .order-xl-11 {
        order: 11
    }
    .order-xl-12 {
        order: 12
    }
    .offset-xl-0 {
        margin-left: 0
    }
    .offset-xl-1 {
        margin-left: 8.33333%
    }
    .offset-xl-2 {
        margin-left: 16.66667%
    }
    .offset-xl-3 {
        margin-left: 25%
    }
    .offset-xl-4 {
        margin-left: 33.33333%
    }
    .offset-xl-5 {
        margin-left: 41.66667%
    }
    .offset-xl-6 {
        margin-left: 50%
    }
    .offset-xl-7 {
        margin-left: 58.33333%
    }
    .offset-xl-8 {
        margin-left: 66.66667%
    }
    .offset-xl-9 {
        margin-left: 75%
    }
    .offset-xl-10 {
        margin-left: 83.33333%
    }
    .offset-xl-11 {
        margin-left: 91.66667%
    }
}

.d-none {
    display: none !important
}

.d-inline {
    display: inline !important
}

.d-inline-block {
    display: inline-block !important
}

.d-block {
    display: block !important
}

.d-table {
    display: table !important
}

.d-table-row {
    display: table-row !important
}

.d-table-cell {
    display: table-cell !important
}

.d-flex {
    display: flex !important
}

.d-inline-flex {
    display: inline-flex !important
}

@media (min-width:576px) {
    .d-sm-none {
        display: none !important
    }
    .d-sm-inline {
        display: inline !important
    }
    .d-sm-inline-block {
        display: inline-block !important
    }
    .d-sm-block {
        display: block !important
    }
    .d-sm-table {
        display: table !important
    }
    .d-sm-table-row {
        display: table-row !important
    }
    .d-sm-table-cell {
        display: table-cell !important
    }
    .d-sm-flex {
        display: flex !important
    }
    .d-sm-inline-flex {
        display: inline-flex !important
    }
}

@media (min-width:768px) {
    .d-md-none {
        display: none !important
    }
    .d-md-inline {
        display: inline !important
    }
    .d-md-inline-block {
        display: inline-block !important
    }
    .d-md-block {
        display: block !important
    }
    .d-md-table {
        display: table !important
    }
    .d-md-table-row {
        display: table-row !important
    }
    .d-md-table-cell {
        display: table-cell !important
    }
    .d-md-flex {
        display: flex !important
    }
    .d-md-inline-flex {
        display: inline-flex !important
    }
}

@media (min-width:992px) {
    .d-lg-none {
        display: none !important
    }
    .d-lg-inline {
        display: inline !important
    }
    .d-lg-inline-block {
        display: inline-block !important
    }
    .d-lg-block {
        display: block !important
    }
    .d-lg-table {
        display: table !important
    }
    .d-lg-table-row {
        display: table-row !important
    }
    .d-lg-table-cell {
        display: table-cell !important
    }
    .d-lg-flex {
        display: flex !important
    }
    .d-lg-inline-flex {
        display: inline-flex !important
    }
}

@media (min-width:1200px) {
    .d-xl-none {
        display: none !important
    }
    .d-xl-inline {
        display: inline !important
    }
    .d-xl-inline-block {
        display: inline-block !important
    }
    .d-xl-block {
        display: block !important
    }
    .d-xl-table {
        display: table !important
    }
    .d-xl-table-row {
        display: table-row !important
    }
    .d-xl-table-cell {
        display: table-cell !important
    }
    .d-xl-flex {
        display: flex !important
    }
    .d-xl-inline-flex {
        display: inline-flex !important
    }
}

@media print {
    .d-print-none {
        display: none !important
    }
    .d-print-inline {
        display: inline !important
    }
    .d-print-inline-block {
        display: inline-block !important
    }
    .d-print-block {
        display: block !important
    }
    .d-print-table {
        display: table !important
    }
    .d-print-table-row {
        display: table-row !important
    }
    .d-print-table-cell {
        display: table-cell !important
    }
    .d-print-flex {
        display: flex !important
    }
    .d-print-inline-flex {
        display: inline-flex !important
    }
}

.flex-row {
    flex-direction: row !important
}

.flex-column {
    flex-direction: column !important
}

.flex-row-reverse {
    flex-direction: row-reverse !important
}

.flex-column-reverse {
    flex-direction: column-reverse !important
}

.flex-wrap {
    flex-wrap: wrap !important
}

.flex-nowrap {
    flex-wrap: nowrap !important
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important
}

.flex-fill {
    flex: 1 1 auto !important
}

.flex-grow-0 {
    flex-grow: 0 !important
}

.flex-grow-1 {
    flex-grow: 1 !important
}

.flex-shrink-0 {
    flex-shrink: 0 !important
}

.flex-shrink-1 {
    flex-shrink: 1 !important
}

.justify-content-start {
    justify-content: flex-start !important
}

.justify-content-end {
    justify-content: flex-end !important
}

.justify-content-center {
    justify-content: center !important
}

.justify-content-between {
    justify-content: space-between !important
}

.justify-content-around {
    justify-content: space-around !important
}

.align-items-start {
    align-items: flex-start !important
}

.align-items-end {
    align-items: flex-end !important
}

.align-items-center {
    align-items: center !important
}

.align-items-baseline {
    align-items: baseline !important
}

.align-items-stretch {
    align-items: stretch !important
}

.align-content-start {
    align-content: flex-start !important
}

.align-content-end {
    align-content: flex-end !important
}

.align-content-center {
    align-content: center !important
}

.align-content-between {
    align-content: space-between !important
}

.align-content-around {
    align-content: space-around !important
}

.align-content-stretch {
    align-content: stretch !important
}

.align-self-auto {
    -ms-grid-row-align: auto !important;
    align-self: auto !important
}

.align-self-start {
    align-self: flex-start !important
}

.align-self-end {
    align-self: flex-end !important
}

.align-self-center {
    -ms-grid-row-align: center !important;
    align-self: center !important
}

.align-self-baseline {
    align-self: baseline !important
}

.align-self-stretch {
    -ms-grid-row-align: stretch !important;
    align-self: stretch !important
}

@media (min-width:576px) {
    .flex-sm-row {
        flex-direction: row !important
    }
    .flex-sm-column {
        flex-direction: column !important
    }
    .flex-sm-row-reverse {
        flex-direction: row-reverse !important
    }
    .flex-sm-column-reverse {
        flex-direction: column-reverse !important
    }
    .flex-sm-wrap {
        flex-wrap: wrap !important
    }
    .flex-sm-nowrap {
        flex-wrap: nowrap !important
    }
    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }
    .flex-sm-fill {
        flex: 1 1 auto !important
    }
    .flex-sm-grow-0 {
        flex-grow: 0 !important
    }
    .flex-sm-grow-1 {
        flex-grow: 1 !important
    }
    .flex-sm-shrink-0 {
        flex-shrink: 0 !important
    }
    .flex-sm-shrink-1 {
        flex-shrink: 1 !important
    }
    .justify-content-sm-start {
        justify-content: flex-start !important
    }
    .justify-content-sm-end {
        justify-content: flex-end !important
    }
    .justify-content-sm-center {
        justify-content: center !important
    }
    .justify-content-sm-between {
        justify-content: space-between !important
    }
    .justify-content-sm-around {
        justify-content: space-around !important
    }
    .align-items-sm-start {
        align-items: flex-start !important
    }
    .align-items-sm-end {
        align-items: flex-end !important
    }
    .align-items-sm-center {
        align-items: center !important
    }
    .align-items-sm-baseline {
        align-items: baseline !important
    }
    .align-items-sm-stretch {
        align-items: stretch !important
    }
    .align-content-sm-start {
        align-content: flex-start !important
    }
    .align-content-sm-end {
        align-content: flex-end !important
    }
    .align-content-sm-center {
        align-content: center !important
    }
    .align-content-sm-between {
        align-content: space-between !important
    }
    .align-content-sm-around {
        align-content: space-around !important
    }
    .align-content-sm-stretch {
        align-content: stretch !important
    }
    .align-self-sm-auto {
        -ms-grid-row-align: auto !important;
        align-self: auto !important
    }
    .align-self-sm-start {
        align-self: flex-start !important
    }
    .align-self-sm-end {
        align-self: flex-end !important
    }
    .align-self-sm-center {
        -ms-grid-row-align: center !important;
        align-self: center !important
    }
    .align-self-sm-baseline {
        align-self: baseline !important
    }
    .align-self-sm-stretch {
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important
    }
}

@media (min-width:768px) {
    .flex-md-row {
        flex-direction: row !important
    }
    .flex-md-column {
        flex-direction: column !important
    }
    .flex-md-row-reverse {
        flex-direction: row-reverse !important
    }
    .flex-md-column-reverse {
        flex-direction: column-reverse !important
    }
    .flex-md-wrap {
        flex-wrap: wrap !important
    }
    .flex-md-nowrap {
        flex-wrap: nowrap !important
    }
    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }
    .flex-md-fill {
        flex: 1 1 auto !important
    }
    .flex-md-grow-0 {
        flex-grow: 0 !important
    }
    .flex-md-grow-1 {
        flex-grow: 1 !important
    }
    .flex-md-shrink-0 {
        flex-shrink: 0 !important
    }
    .flex-md-shrink-1 {
        flex-shrink: 1 !important
    }
    .justify-content-md-start {
        justify-content: flex-start !important
    }
    .justify-content-md-end {
        justify-content: flex-end !important
    }
    .justify-content-md-center {
        justify-content: center !important
    }
    .justify-content-md-between {
        justify-content: space-between !important
    }
    .justify-content-md-around {
        justify-content: space-around !important
    }
    .align-items-md-start {
        align-items: flex-start !important
    }
    .align-items-md-end {
        align-items: flex-end !important
    }
    .align-items-md-center {
        align-items: center !important
    }
    .align-items-md-baseline {
        align-items: baseline !important
    }
    .align-items-md-stretch {
        align-items: stretch !important
    }
    .align-content-md-start {
        align-content: flex-start !important
    }
    .align-content-md-end {
        align-content: flex-end !important
    }
    .align-content-md-center {
        align-content: center !important
    }
    .align-content-md-between {
        align-content: space-between !important
    }
    .align-content-md-around {
        align-content: space-around !important
    }
    .align-content-md-stretch {
        align-content: stretch !important
    }
    .align-self-md-auto {
        -ms-grid-row-align: auto !important;
        align-self: auto !important
    }
    .align-self-md-start {
        align-self: flex-start !important
    }
    .align-self-md-end {
        align-self: flex-end !important
    }
    .align-self-md-center {
        -ms-grid-row-align: center !important;
        align-self: center !important
    }
    .align-self-md-baseline {
        align-self: baseline !important
    }
    .align-self-md-stretch {
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important
    }
}

@media (min-width:992px) {
    .flex-lg-row {
        flex-direction: row !important
    }
    .flex-lg-column {
        flex-direction: column !important
    }
    .flex-lg-row-reverse {
        flex-direction: row-reverse !important
    }
    .flex-lg-column-reverse {
        flex-direction: column-reverse !important
    }
    .flex-lg-wrap {
        flex-wrap: wrap !important
    }
    .flex-lg-nowrap {
        flex-wrap: nowrap !important
    }
    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }
    .flex-lg-fill {
        flex: 1 1 auto !important
    }
    .flex-lg-grow-0 {
        flex-grow: 0 !important
    }
    .flex-lg-grow-1 {
        flex-grow: 1 !important
    }
    .flex-lg-shrink-0 {
        flex-shrink: 0 !important
    }
    .flex-lg-shrink-1 {
        flex-shrink: 1 !important
    }
    .justify-content-lg-start {
        justify-content: flex-start !important
    }
    .justify-content-lg-end {
        justify-content: flex-end !important
    }
    .justify-content-lg-center {
        justify-content: center !important
    }
    .justify-content-lg-between {
        justify-content: space-between !important
    }
    .justify-content-lg-around {
        justify-content: space-around !important
    }
    .align-items-lg-start {
        align-items: flex-start !important
    }
    .align-items-lg-end {
        align-items: flex-end !important
    }
    .align-items-lg-center {
        align-items: center !important
    }
    .align-items-lg-baseline {
        align-items: baseline !important
    }
    .align-items-lg-stretch {
        align-items: stretch !important
    }
    .align-content-lg-start {
        align-content: flex-start !important
    }
    .align-content-lg-end {
        align-content: flex-end !important
    }
    .align-content-lg-center {
        align-content: center !important
    }
    .align-content-lg-between {
        align-content: space-between !important
    }
    .align-content-lg-around {
        align-content: space-around !important
    }
    .align-content-lg-stretch {
        align-content: stretch !important
    }
    .align-self-lg-auto {
        -ms-grid-row-align: auto !important;
        align-self: auto !important
    }
    .align-self-lg-start {
        align-self: flex-start !important
    }
    .align-self-lg-end {
        align-self: flex-end !important
    }
    .align-self-lg-center {
        -ms-grid-row-align: center !important;
        align-self: center !important
    }
    .align-self-lg-baseline {
        align-self: baseline !important
    }
    .align-self-lg-stretch {
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important
    }
}

@media (min-width:1200px) {
    .flex-xl-row {
        flex-direction: row !important
    }
    .flex-xl-column {
        flex-direction: column !important
    }
    .flex-xl-row-reverse {
        flex-direction: row-reverse !important
    }
    .flex-xl-column-reverse {
        flex-direction: column-reverse !important
    }
    .flex-xl-wrap {
        flex-wrap: wrap !important
    }
    .flex-xl-nowrap {
        flex-wrap: nowrap !important
    }
    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important
    }
    .flex-xl-fill {
        flex: 1 1 auto !important
    }
    .flex-xl-grow-0 {
        flex-grow: 0 !important
    }
    .flex-xl-grow-1 {
        flex-grow: 1 !important
    }
    .flex-xl-shrink-0 {
        flex-shrink: 0 !important
    }
    .flex-xl-shrink-1 {
        flex-shrink: 1 !important
    }
    .justify-content-xl-start {
        justify-content: flex-start !important
    }
    .justify-content-xl-end {
        justify-content: flex-end !important
    }
    .justify-content-xl-center {
        justify-content: center !important
    }
    .justify-content-xl-between {
        justify-content: space-between !important
    }
    .justify-content-xl-around {
        justify-content: space-around !important
    }
    .align-items-xl-start {
        align-items: flex-start !important
    }
    .align-items-xl-end {
        align-items: flex-end !important
    }
    .align-items-xl-center {
        align-items: center !important
    }
    .align-items-xl-baseline {
        align-items: baseline !important
    }
    .align-items-xl-stretch {
        align-items: stretch !important
    }
    .align-content-xl-start {
        align-content: flex-start !important
    }
    .align-content-xl-end {
        align-content: flex-end !important
    }
    .align-content-xl-center {
        align-content: center !important
    }
    .align-content-xl-between {
        align-content: space-between !important
    }
    .align-content-xl-around {
        align-content: space-around !important
    }
    .align-content-xl-stretch {
        align-content: stretch !important
    }
    .align-self-xl-auto {
        -ms-grid-row-align: auto !important;
        align-self: auto !important
    }
    .align-self-xl-start {
        align-self: flex-start !important
    }
    .align-self-xl-end {
        align-self: flex-end !important
    }
    .align-self-xl-center {
        -ms-grid-row-align: center !important;
        align-self: center !important
    }
    .align-self-xl-baseline {
        align-self: baseline !important
    }
    .align-self-xl-stretch {
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important
    }
}

.clearfix::after {
    display: block;
    clear: both;
    content: ""
}

.float-left {
    float: left !important
}

.float-right {
    float: right !important
}

.float-none {
    float: none !important
}

@media (min-width:576px) {
    .float-sm-left {
        float: left !important
    }
    .float-sm-right {
        float: right !important
    }
    .float-sm-none {
        float: none !important
    }
}

@media (min-width:768px) {
    .float-md-left {
        float: left !important
    }
    .float-md-right {
        float: right !important
    }
    .float-md-none {
        float: none !important
    }
}

@media (min-width:992px) {
    .float-lg-left {
        float: left !important
    }
    .float-lg-right {
        float: right !important
    }
    .float-lg-none {
        float: none !important
    }
}

@media (min-width:1200px) {
    .float-xl-left {
        float: left !important
    }
    .float-xl-right {
        float: right !important
    }
    .float-xl-none {
        float: none !important
    }
}

.m-0 {
    margin: 0 !important
}

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

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

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

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

.m-1 {
    margin: .25rem !important
}

.mt-1,
.my-1 {
    margin-top: .25rem !important
}

.mr-1,
.mx-1 {
    margin-right: .25rem !important
}

.mb-1,
.my-1 {
    margin-bottom: .25rem !important
}

.ml-1,
.mx-1 {
    margin-left: .25rem !important
}

.m-2 {
    margin: .5rem !important
}

.mt-2,
.my-2 {
    margin-top: .5rem !important
}

.mr-2,
.mx-2 {
    margin-right: .5rem !important
}

.mb-2,
.my-2 {
    margin-bottom: .5rem !important
}

.ml-2,
.mx-2 {
    margin-left: .5rem !important
}

.m-3 {
    margin: 1rem !important
}

.mt-3,
.my-3 {
    margin-top: 1rem !important
}

.mr-3,
.mx-3 {
    margin-right: 1rem !important
}

.mb-3,
.my-3 {
    margin-bottom: 1rem !important
}

.ml-3,
.mx-3 {
    margin-left: 1rem !important
}

.m-4 {
    margin: 1.5rem !important
}

.mt-4,
.my-4 {
    margin-top: 1.5rem !important
}

.mr-4,
.mx-4 {
    margin-right: 1.5rem !important
}

.mb-4,
.my-4 {
    margin-bottom: 1.5rem !important
}

.ml-4,
.mx-4 {
    margin-left: 1.5rem !important
}

.m-5 {
    margin: 3rem !important
}

.mt-5,
.my-5 {
    margin-top: 3rem !important
}

.mr-5,
.mx-5 {
    margin-right: 3rem !important
}

.mb-5,
.my-5 {
    margin-bottom: 3rem !important
}

.ml-5,
.mx-5 {
    margin-left: 3rem !important
}

.p-0 {
    padding: 0 !important
}

.pt-0,
.py-0 {
    padding-top: 0 !important
}

.pr-0,
.px-0 {
    padding-right: 0 !important
}

.pb-0,
.py-0 {
    padding-bottom: 0 !important
}

.pl-0,
.px-0 {
    padding-left: 0 !important
}

.p-1 {
    padding: .25rem !important
}

.pt-1,
.py-1 {
    padding-top: .25rem !important
}

.pr-1,
.px-1 {
    padding-right: .25rem !important
}

.pb-1,
.py-1 {
    padding-bottom: .25rem !important
}

.pl-1,
.px-1 {
    padding-left: .25rem !important
}

.p-2 {
    padding: .5rem !important
}

.pt-2,
.py-2 {
    padding-top: .5rem !important
}

.pr-2,
.px-2 {
    padding-right: .5rem !important
}

.pb-2,
.py-2 {
    padding-bottom: .5rem !important
}

.pl-2,
.px-2 {
    padding-left: .5rem !important
}

.p-3 {
    padding: 1rem !important
}

.pt-3,
.py-3 {
    padding-top: 1rem !important
}

.pr-3,
.px-3 {
    padding-right: 1rem !important
}

.pb-3,
.py-3 {
    padding-bottom: 1rem !important
}

.pl-3,
.px-3 {
    padding-left: 1rem !important
}

.p-4 {
    padding: 1.5rem !important
}

.pt-4,
.py-4 {
    padding-top: 1.5rem !important
}

.pr-4,
.px-4 {
    padding-right: 1.5rem !important
}

.pb-4,
.py-4 {
    padding-bottom: 1.5rem !important
}

.pl-4,
.px-4 {
    padding-left: 1.5rem !important
}

.p-5 {
    padding: 3rem !important
}

.pt-5,
.py-5 {
    padding-top: 3rem !important
}

.pr-5,
.px-5 {
    padding-right: 3rem !important
}

.pb-5,
.py-5 {
    padding-bottom: 3rem !important
}

.pl-5,
.px-5 {
    padding-left: 3rem !important
}

.m-n1 {
    margin: -.25rem !important
}

.mt-n1,
.my-n1 {
    margin-top: -.25rem !important
}

.mr-n1,
.mx-n1 {
    margin-right: -.25rem !important
}

.mb-n1,
.my-n1 {
    margin-bottom: -.25rem !important
}

.ml-n1,
.mx-n1 {
    margin-left: -.25rem !important
}

.m-n2 {
    margin: -.5rem !important
}

.mt-n2,
.my-n2 {
    margin-top: -.5rem !important
}

.mr-n2,
.mx-n2 {
    margin-right: -.5rem !important
}

.mb-n2,
.my-n2 {
    margin-bottom: -.5rem !important
}

.ml-n2,
.mx-n2 {
    margin-left: -.5rem !important
}

.m-n3 {
    margin: -1rem !important
}

.mt-n3,
.my-n3 {
    margin-top: -1rem !important
}

.mr-n3,
.mx-n3 {
    margin-right: -1rem !important
}

.mb-n3,
.my-n3 {
    margin-bottom: -1rem !important
}

.ml-n3,
.mx-n3 {
    margin-left: -1rem !important
}

.m-n4 {
    margin: -1.5rem !important
}

.mt-n4,
.my-n4 {
    margin-top: -1.5rem !important
}

.mr-n4,
.mx-n4 {
    margin-right: -1.5rem !important
}

.mb-n4,
.my-n4 {
    margin-bottom: -1.5rem !important
}

.ml-n4,
.mx-n4 {
    margin-left: -1.5rem !important
}

.m-n5 {
    margin: -3rem !important
}

.mt-n5,
.my-n5 {
    margin-top: -3rem !important
}

.mr-n5,
.mx-n5 {
    margin-right: -3rem !important
}

.mb-n5,
.my-n5 {
    margin-bottom: -3rem !important
}

.ml-n5,
.mx-n5 {
    margin-left: -3rem !important
}

.m-auto {
    margin: auto !important
}

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

.mr-auto,
.mx-auto {
    margin-right: auto !important
}

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

.ml-auto,
.mx-auto {
    margin-left: auto !important
}

@media (min-width:576px) {
    .m-sm-0 {
        margin: 0 !important
    }
    .mt-sm-0,
    .my-sm-0 {
        margin-top: 0 !important
    }
    .mr-sm-0,
    .mx-sm-0 {
        margin-right: 0 !important
    }
    .mb-sm-0,
    .my-sm-0 {
        margin-bottom: 0 !important
    }
    .ml-sm-0,
    .mx-sm-0 {
        margin-left: 0 !important
    }
    .m-sm-1 {
        margin: .25rem !important
    }
    .mt-sm-1,
    .my-sm-1 {
        margin-top: .25rem !important
    }
    .mr-sm-1,
    .mx-sm-1 {
        margin-right: .25rem !important
    }
    .mb-sm-1,
    .my-sm-1 {
        margin-bottom: .25rem !important
    }
    .ml-sm-1,
    .mx-sm-1 {
        margin-left: .25rem !important
    }
    .m-sm-2 {
        margin: .5rem !important
    }
    .mt-sm-2,
    .my-sm-2 {
        margin-top: .5rem !important
    }
    .mr-sm-2,
    .mx-sm-2 {
        margin-right: .5rem !important
    }
    .mb-sm-2,
    .my-sm-2 {
        margin-bottom: .5rem !important
    }
    .ml-sm-2,
    .mx-sm-2 {
        margin-left: .5rem !important
    }
    .m-sm-3 {
        margin: 1rem !important
    }
    .mt-sm-3,
    .my-sm-3 {
        margin-top: 1rem !important
    }
    .mr-sm-3,
    .mx-sm-3 {
        margin-right: 1rem !important
    }
    .mb-sm-3,
    .my-sm-3 {
        margin-bottom: 1rem !important
    }
    .ml-sm-3,
    .mx-sm-3 {
        margin-left: 1rem !important
    }
    .m-sm-4 {
        margin: 1.5rem !important
    }
    .mt-sm-4,
    .my-sm-4 {
        margin-top: 1.5rem !important
    }
    .mr-sm-4,
    .mx-sm-4 {
        margin-right: 1.5rem !important
    }
    .mb-sm-4,
    .my-sm-4 {
        margin-bottom: 1.5rem !important
    }
    .ml-sm-4,
    .mx-sm-4 {
        margin-left: 1.5rem !important
    }
    .m-sm-5 {
        margin: 3rem !important
    }
    .mt-sm-5,
    .my-sm-5 {
        margin-top: 3rem !important
    }
    .mr-sm-5,
    .mx-sm-5 {
        margin-right: 3rem !important
    }
    .mb-sm-5,
    .my-sm-5 {
        margin-bottom: 3rem !important
    }
    .ml-sm-5,
    .mx-sm-5 {
        margin-left: 3rem !important
    }
    .p-sm-0 {
        padding: 0 !important
    }
    .pt-sm-0,
    .py-sm-0 {
        padding-top: 0 !important
    }
    .pr-sm-0,
    .px-sm-0 {
        padding-right: 0 !important
    }
    .pb-sm-0,
    .py-sm-0 {
        padding-bottom: 0 !important
    }
    .pl-sm-0,
    .px-sm-0 {
        padding-left: 0 !important
    }
    .p-sm-1 {
        padding: .25rem !important
    }
    .pt-sm-1,
    .py-sm-1 {
        padding-top: .25rem !important
    }
    .pr-sm-1,
    .px-sm-1 {
        padding-right: .25rem !important
    }
    .pb-sm-1,
    .py-sm-1 {
        padding-bottom: .25rem !important
    }
    .pl-sm-1,
    .px-sm-1 {
        padding-left: .25rem !important
    }
    .p-sm-2 {
        padding: .5rem !important
    }
    .pt-sm-2,
    .py-sm-2 {
        padding-top: .5rem !important
    }
    .pr-sm-2,
    .px-sm-2 {
        padding-right: .5rem !important
    }
    .pb-sm-2,
    .py-sm-2 {
        padding-bottom: .5rem !important
    }
    .pl-sm-2,
    .px-sm-2 {
        padding-left: .5rem !important
    }
    .p-sm-3 {
        padding: 1rem !important
    }
    .pt-sm-3,
    .py-sm-3 {
        padding-top: 1rem !important
    }
    .pr-sm-3,
    .px-sm-3 {
        padding-right: 1rem !important
    }
    .pb-sm-3,
    .py-sm-3 {
        padding-bottom: 1rem !important
    }
    .pl-sm-3,
    .px-sm-3 {
        padding-left: 1rem !important
    }
    .p-sm-4 {
        padding: 1.5rem !important
    }
    .pt-sm-4,
    .py-sm-4 {
        padding-top: 1.5rem !important
    }
    .pr-sm-4,
    .px-sm-4 {
        padding-right: 1.5rem !important
    }
    .pb-sm-4,
    .py-sm-4 {
        padding-bottom: 1.5rem !important
    }
    .pl-sm-4,
    .px-sm-4 {
        padding-left: 1.5rem !important
    }
    .p-sm-5 {
        padding: 3rem !important
    }
    .pt-sm-5,
    .py-sm-5 {
        padding-top: 3rem !important
    }
    .pr-sm-5,
    .px-sm-5 {
        padding-right: 3rem !important
    }
    .pb-sm-5,
    .py-sm-5 {
        padding-bottom: 3rem !important
    }
    .pl-sm-5,
    .px-sm-5 {
        padding-left: 3rem !important
    }
    .m-sm-n1 {
        margin: -.25rem !important
    }
    .mt-sm-n1,
    .my-sm-n1 {
        margin-top: -.25rem !important
    }
    .mr-sm-n1,
    .mx-sm-n1 {
        margin-right: -.25rem !important
    }
    .mb-sm-n1,
    .my-sm-n1 {
        margin-bottom: -.25rem !important
    }
    .ml-sm-n1,
    .mx-sm-n1 {
        margin-left: -.25rem !important
    }
    .m-sm-n2 {
        margin: -.5rem !important
    }
    .mt-sm-n2,
    .my-sm-n2 {
        margin-top: -.5rem !important
    }
    .mr-sm-n2,
    .mx-sm-n2 {
        margin-right: -.5rem !important
    }
    .mb-sm-n2,
    .my-sm-n2 {
        margin-bottom: -.5rem !important
    }
    .ml-sm-n2,
    .mx-sm-n2 {
        margin-left: -.5rem !important
    }
    .m-sm-n3 {
        margin: -1rem !important
    }
    .mt-sm-n3,
    .my-sm-n3 {
        margin-top: -1rem !important
    }
    .mr-sm-n3,
    .mx-sm-n3 {
        margin-right: -1rem !important
    }
    .mb-sm-n3,
    .my-sm-n3 {
        margin-bottom: -1rem !important
    }
    .ml-sm-n3,
    .mx-sm-n3 {
        margin-left: -1rem !important
    }
    .m-sm-n4 {
        margin: -1.5rem !important
    }
    .mt-sm-n4,
    .my-sm-n4 {
        margin-top: -1.5rem !important
    }
    .mr-sm-n4,
    .mx-sm-n4 {
        margin-right: -1.5rem !important
    }
    .mb-sm-n4,
    .my-sm-n4 {
        margin-bottom: -1.5rem !important
    }
    .ml-sm-n4,
    .mx-sm-n4 {
        margin-left: -1.5rem !important
    }
    .m-sm-n5 {
        margin: -3rem !important
    }
    .mt-sm-n5,
    .my-sm-n5 {
        margin-top: -3rem !important
    }
    .mr-sm-n5,
    .mx-sm-n5 {
        margin-right: -3rem !important
    }
    .mb-sm-n5,
    .my-sm-n5 {
        margin-bottom: -3rem !important
    }
    .ml-sm-n5,
    .mx-sm-n5 {
        margin-left: -3rem !important
    }
    .m-sm-auto {
        margin: auto !important
    }
    .mt-sm-auto,
    .my-sm-auto {
        margin-top: auto !important
    }
    .mr-sm-auto,
    .mx-sm-auto {
        margin-right: auto !important
    }
    .mb-sm-auto,
    .my-sm-auto {
        margin-bottom: auto !important
    }
    .ml-sm-auto,
    .mx-sm-auto {
        margin-left: auto !important
    }
}

@media (min-width:768px) {
    .m-md-0 {
        margin: 0 !important
    }
    .mt-md-0,
    .my-md-0 {
        margin-top: 0 !important
    }
    .mr-md-0,
    .mx-md-0 {
        margin-right: 0 !important
    }
    .mb-md-0,
    .my-md-0 {
        margin-bottom: 0 !important
    }
    .ml-md-0,
    .mx-md-0 {
        margin-left: 0 !important
    }
    .m-md-1 {
        margin: .25rem !important
    }
    .mt-md-1,
    .my-md-1 {
        margin-top: .25rem !important
    }
    .mr-md-1,
    .mx-md-1 {
        margin-right: .25rem !important
    }
    .mb-md-1,
    .my-md-1 {
        margin-bottom: .25rem !important
    }
    .ml-md-1,
    .mx-md-1 {
        margin-left: .25rem !important
    }
    .m-md-2 {
        margin: .5rem !important
    }
    .mt-md-2,
    .my-md-2 {
        margin-top: .5rem !important
    }
    .mr-md-2,
    .mx-md-2 {
        margin-right: .5rem !important
    }
    .mb-md-2,
    .my-md-2 {
        margin-bottom: .5rem !important
    }
    .ml-md-2,
    .mx-md-2 {
        margin-left: .5rem !important
    }
    .m-md-3 {
        margin: 1rem !important
    }
    .mt-md-3,
    .my-md-3 {
        margin-top: 1rem !important
    }
    .mr-md-3,
    .mx-md-3 {
        margin-right: 1rem !important
    }
    .mb-md-3,
    .my-md-3 {
        margin-bottom: 1rem !important
    }
    .ml-md-3,
    .mx-md-3 {
        margin-left: 1rem !important
    }
    .m-md-4 {
        margin: 1.5rem !important
    }
    .mt-md-4,
    .my-md-4 {
        margin-top: 1.5rem !important
    }
    .mr-md-4,
    .mx-md-4 {
        margin-right: 1.5rem !important
    }
    .mb-md-4,
    .my-md-4 {
        margin-bottom: 1.5rem !important
    }
    .ml-md-4,
    .mx-md-4 {
        margin-left: 1.5rem !important
    }
    .m-md-5 {
        margin: 3rem !important
    }
    .mt-md-5,
    .my-md-5 {
        margin-top: 3rem !important
    }
    .mr-md-5,
    .mx-md-5 {
        margin-right: 3rem !important
    }
    .mb-md-5,
    .my-md-5 {
        margin-bottom: 3rem !important
    }
    .ml-md-5,
    .mx-md-5 {
        margin-left: 3rem !important
    }
    .p-md-0 {
        padding: 0 !important
    }
    .pt-md-0,
    .py-md-0 {
        padding-top: 0 !important
    }
    .pr-md-0,
    .px-md-0 {
        padding-right: 0 !important
    }
    .pb-md-0,
    .py-md-0 {
        padding-bottom: 0 !important
    }
    .pl-md-0,
    .px-md-0 {
        padding-left: 0 !important
    }
    .p-md-1 {
        padding: .25rem !important
    }
    .pt-md-1,
    .py-md-1 {
        padding-top: .25rem !important
    }
    .pr-md-1,
    .px-md-1 {
        padding-right: .25rem !important
    }
    .pb-md-1,
    .py-md-1 {
        padding-bottom: .25rem !important
    }
    .pl-md-1,
    .px-md-1 {
        padding-left: .25rem !important
    }
    .p-md-2 {
        padding: .5rem !important
    }
    .pt-md-2,
    .py-md-2 {
        padding-top: .5rem !important
    }
    .pr-md-2,
    .px-md-2 {
        padding-right: .5rem !important
    }
    .pb-md-2,
    .py-md-2 {
        padding-bottom: .5rem !important
    }
    .pl-md-2,
    .px-md-2 {
        padding-left: .5rem !important
    }
    .p-md-3 {
        padding: 1rem !important
    }
    .pt-md-3,
    .py-md-3 {
        padding-top: 1rem !important
    }
    .pr-md-3,
    .px-md-3 {
        padding-right: 1rem !important
    }
    .pb-md-3,
    .py-md-3 {
        padding-bottom: 1rem !important
    }
    .pl-md-3,
    .px-md-3 {
        padding-left: 1rem !important
    }
    .p-md-4 {
        padding: 1.5rem !important
    }
    .pt-md-4,
    .py-md-4 {
        padding-top: 1.5rem !important
    }
    .pr-md-4,
    .px-md-4 {
        padding-right: 1.5rem !important
    }
    .pb-md-4,
    .py-md-4 {
        padding-bottom: 1.5rem !important
    }
    .pl-md-4,
    .px-md-4 {
        padding-left: 1.5rem !important
    }
    .p-md-5 {
        padding: 3rem !important
    }
    .pt-md-5,
    .py-md-5 {
        padding-top: 3rem !important
    }
    .pr-md-5,
    .px-md-5 {
        padding-right: 3rem !important
    }
    .pb-md-5,
    .py-md-5 {
        padding-bottom: 3rem !important
    }
    .pl-md-5,
    .px-md-5 {
        padding-left: 3rem !important
    }
    .m-md-n1 {
        margin: -.25rem !important
    }
    .mt-md-n1,
    .my-md-n1 {
        margin-top: -.25rem !important
    }
    .mr-md-n1,
    .mx-md-n1 {
        margin-right: -.25rem !important
    }
    .mb-md-n1,
    .my-md-n1 {
        margin-bottom: -.25rem !important
    }
    .ml-md-n1,
    .mx-md-n1 {
        margin-left: -.25rem !important
    }
    .m-md-n2 {
        margin: -.5rem !important
    }
    .mt-md-n2,
    .my-md-n2 {
        margin-top: -.5rem !important
    }
    .mr-md-n2,
    .mx-md-n2 {
        margin-right: -.5rem !important
    }
    .mb-md-n2,
    .my-md-n2 {
        margin-bottom: -.5rem !important
    }
    .ml-md-n2,
    .mx-md-n2 {
        margin-left: -.5rem !important
    }
    .m-md-n3 {
        margin: -1rem !important
    }
    .mt-md-n3,
    .my-md-n3 {
        margin-top: -1rem !important
    }
    .mr-md-n3,
    .mx-md-n3 {
        margin-right: -1rem !important
    }
    .mb-md-n3,
    .my-md-n3 {
        margin-bottom: -1rem !important
    }
    .ml-md-n3,
    .mx-md-n3 {
        margin-left: -1rem !important
    }
    .m-md-n4 {
        margin: -1.5rem !important
    }
    .mt-md-n4,
    .my-md-n4 {
        margin-top: -1.5rem !important
    }
    .mr-md-n4,
    .mx-md-n4 {
        margin-right: -1.5rem !important
    }
    .mb-md-n4,
    .my-md-n4 {
        margin-bottom: -1.5rem !important
    }
    .ml-md-n4,
    .mx-md-n4 {
        margin-left: -1.5rem !important
    }
    .m-md-n5 {
        margin: -3rem !important
    }
    .mt-md-n5,
    .my-md-n5 {
        margin-top: -3rem !important
    }
    .mr-md-n5,
    .mx-md-n5 {
        margin-right: -3rem !important
    }
    .mb-md-n5,
    .my-md-n5 {
        margin-bottom: -3rem !important
    }
    .ml-md-n5,
    .mx-md-n5 {
        margin-left: -3rem !important
    }
    .m-md-auto {
        margin: auto !important
    }
    .mt-md-auto,
    .my-md-auto {
        margin-top: auto !important
    }
    .mr-md-auto,
    .mx-md-auto {
        margin-right: auto !important
    }
    .mb-md-auto,
    .my-md-auto {
        margin-bottom: auto !important
    }
    .ml-md-auto,
    .mx-md-auto {
        margin-left: auto !important
    }
}

@media (min-width:992px) {
    .m-lg-0 {
        margin: 0 !important
    }
    .mt-lg-0,
    .my-lg-0 {
        margin-top: 0 !important
    }
    .mr-lg-0,
    .mx-lg-0 {
        margin-right: 0 !important
    }
    .mb-lg-0,
    .my-lg-0 {
        margin-bottom: 0 !important
    }
    .ml-lg-0,
    .mx-lg-0 {
        margin-left: 0 !important
    }
    .m-lg-1 {
        margin: .25rem !important
    }
    .mt-lg-1,
    .my-lg-1 {
        margin-top: .25rem !important
    }
    .mr-lg-1,
    .mx-lg-1 {
        margin-right: .25rem !important
    }
    .mb-lg-1,
    .my-lg-1 {
        margin-bottom: .25rem !important
    }
    .ml-lg-1,
    .mx-lg-1 {
        margin-left: .25rem !important
    }
    .m-lg-2 {
        margin: .5rem !important
    }
    .mt-lg-2,
    .my-lg-2 {
        margin-top: .5rem !important
    }
    .mr-lg-2,
    .mx-lg-2 {
        margin-right: .5rem !important
    }
    .mb-lg-2,
    .my-lg-2 {
        margin-bottom: .5rem !important
    }
    .ml-lg-2,
    .mx-lg-2 {
        margin-left: .5rem !important
    }
    .m-lg-3 {
        margin: 1rem !important
    }
    .mt-lg-3,
    .my-lg-3 {
        margin-top: 1rem !important
    }
    .mr-lg-3,
    .mx-lg-3 {
        margin-right: 1rem !important
    }
    .mb-lg-3,
    .my-lg-3 {
        margin-bottom: 1rem !important
    }
    .ml-lg-3,
    .mx-lg-3 {
        margin-left: 1rem !important
    }
    .m-lg-4 {
        margin: 1.5rem !important
    }
    .mt-lg-4,
    .my-lg-4 {
        margin-top: 1.5rem !important
    }
    .mr-lg-4,
    .mx-lg-4 {
        margin-right: 1.5rem !important
    }
    .mb-lg-4,
    .my-lg-4 {
        margin-bottom: 1.5rem !important
    }
    .ml-lg-4,
    .mx-lg-4 {
        margin-left: 1.5rem !important
    }
    .m-lg-5 {
        margin: 3rem !important
    }
    .mt-lg-5,
    .my-lg-5 {
        margin-top: 3rem !important
    }
    .mr-lg-5,
    .mx-lg-5 {
        margin-right: 3rem !important
    }
    .mb-lg-5,
    .my-lg-5 {
        margin-bottom: 3rem !important
    }
    .ml-lg-5,
    .mx-lg-5 {
        margin-left: 3rem !important
    }
    .p-lg-0 {
        padding: 0 !important
    }
    .pt-lg-0,
    .py-lg-0 {
        padding-top: 0 !important
    }
    .pr-lg-0,
    .px-lg-0 {
        padding-right: 0 !important
    }
    .pb-lg-0,
    .py-lg-0 {
        padding-bottom: 0 !important
    }
    .pl-lg-0,
    .px-lg-0 {
        padding-left: 0 !important
    }
    .p-lg-1 {
        padding: .25rem !important
    }
    .pt-lg-1,
    .py-lg-1 {
        padding-top: .25rem !important
    }
    .pr-lg-1,
    .px-lg-1 {
        padding-right: .25rem !important
    }
    .pb-lg-1,
    .py-lg-1 {
        padding-bottom: .25rem !important
    }
    .pl-lg-1,
    .px-lg-1 {
        padding-left: .25rem !important
    }
    .p-lg-2 {
        padding: .5rem !important
    }
    .pt-lg-2,
    .py-lg-2 {
        padding-top: .5rem !important
    }
    .pr-lg-2,
    .px-lg-2 {
        padding-right: .5rem !important
    }
    .pb-lg-2,
    .py-lg-2 {
        padding-bottom: .5rem !important
    }
    .pl-lg-2,
    .px-lg-2 {
        padding-left: .5rem !important
    }
    .p-lg-3 {
        padding: 1rem !important
    }
    .pt-lg-3,
    .py-lg-3 {
        padding-top: 1rem !important
    }
    .pr-lg-3,
    .px-lg-3 {
        padding-right: 1rem !important
    }
    .pb-lg-3,
    .py-lg-3 {
        padding-bottom: 1rem !important
    }
    .pl-lg-3,
    .px-lg-3 {
        padding-left: 1rem !important
    }
    .p-lg-4 {
        padding: 1.5rem !important
    }
    .pt-lg-4,
    .py-lg-4 {
        padding-top: 1.5rem !important
    }
    .pr-lg-4,
    .px-lg-4 {
        padding-right: 1.5rem !important
    }
    .pb-lg-4,
    .py-lg-4 {
        padding-bottom: 1.5rem !important
    }
    .pl-lg-4,
    .px-lg-4 {
        padding-left: 1.5rem !important
    }
    .p-lg-5 {
        padding: 3rem !important
    }
    .pt-lg-5,
    .py-lg-5 {
        padding-top: 3rem !important
    }
    .pr-lg-5,
    .px-lg-5 {
        padding-right: 3rem !important
    }
    .pb-lg-5,
    .py-lg-5 {
        padding-bottom: 3rem !important
    }
    .pl-lg-5,
    .px-lg-5 {
        padding-left: 3rem !important
    }
    .m-lg-n1 {
        margin: -.25rem !important
    }
    .mt-lg-n1,
    .my-lg-n1 {
        margin-top: -.25rem !important
    }
    .mr-lg-n1,
    .mx-lg-n1 {
        margin-right: -.25rem !important
    }
    .mb-lg-n1,
    .my-lg-n1 {
        margin-bottom: -.25rem !important
    }
    .ml-lg-n1,
    .mx-lg-n1 {
        margin-left: -.25rem !important
    }
    .m-lg-n2 {
        margin: -.5rem !important
    }
    .mt-lg-n2,
    .my-lg-n2 {
        margin-top: -.5rem !important
    }
    .mr-lg-n2,
    .mx-lg-n2 {
        margin-right: -.5rem !important
    }
    .mb-lg-n2,
    .my-lg-n2 {
        margin-bottom: -.5rem !important
    }
    .ml-lg-n2,
    .mx-lg-n2 {
        margin-left: -.5rem !important
    }
    .m-lg-n3 {
        margin: -1rem !important
    }
    .mt-lg-n3,
    .my-lg-n3 {
        margin-top: -1rem !important
    }
    .mr-lg-n3,
    .mx-lg-n3 {
        margin-right: -1rem !important
    }
    .mb-lg-n3,
    .my-lg-n3 {
        margin-bottom: -1rem !important
    }
    .ml-lg-n3,
    .mx-lg-n3 {
        margin-left: -1rem !important
    }
    .m-lg-n4 {
        margin: -1.5rem !important
    }
    .mt-lg-n4,
    .my-lg-n4 {
        margin-top: -1.5rem !important
    }
    .mr-lg-n4,
    .mx-lg-n4 {
        margin-right: -1.5rem !important
    }
    .mb-lg-n4,
    .my-lg-n4 {
        margin-bottom: -1.5rem !important
    }
    .ml-lg-n4,
    .mx-lg-n4 {
        margin-left: -1.5rem !important
    }
    .m-lg-n5 {
        margin: -3rem !important
    }
    .mt-lg-n5,
    .my-lg-n5 {
        margin-top: -3rem !important
    }
    .mr-lg-n5,
    .mx-lg-n5 {
        margin-right: -3rem !important
    }
    .mb-lg-n5,
    .my-lg-n5 {
        margin-bottom: -3rem !important
    }
    .ml-lg-n5,
    .mx-lg-n5 {
        margin-left: -3rem !important
    }
    .m-lg-auto {
        margin: auto !important
    }
    .mt-lg-auto,
    .my-lg-auto {
        margin-top: auto !important
    }
    .mr-lg-auto,
    .mx-lg-auto {
        margin-right: auto !important
    }
    .mb-lg-auto,
    .my-lg-auto {
        margin-bottom: auto !important
    }
    .ml-lg-auto,
    .mx-lg-auto {
        margin-left: auto !important
    }
}

@media (min-width:1200px) {
    .m-xl-0 {
        margin: 0 !important
    }
    .mt-xl-0,
    .my-xl-0 {
        margin-top: 0 !important
    }
    .mr-xl-0,
    .mx-xl-0 {
        margin-right: 0 !important
    }
    .mb-xl-0,
    .my-xl-0 {
        margin-bottom: 0 !important
    }
    .ml-xl-0,
    .mx-xl-0 {
        margin-left: 0 !important
    }
    .m-xl-1 {
        margin: .25rem !important
    }
    .mt-xl-1,
    .my-xl-1 {
        margin-top: .25rem !important
    }
    .mr-xl-1,
    .mx-xl-1 {
        margin-right: .25rem !important
    }
    .mb-xl-1,
    .my-xl-1 {
        margin-bottom: .25rem !important
    }
    .ml-xl-1,
    .mx-xl-1 {
        margin-left: .25rem !important
    }
    .m-xl-2 {
        margin: .5rem !important
    }
    .mt-xl-2,
    .my-xl-2 {
        margin-top: .5rem !important
    }
    .mr-xl-2,
    .mx-xl-2 {
        margin-right: .5rem !important
    }
    .mb-xl-2,
    .my-xl-2 {
        margin-bottom: .5rem !important
    }
    .ml-xl-2,
    .mx-xl-2 {
        margin-left: .5rem !important
    }
    .m-xl-3 {
        margin: 1rem !important
    }
    .mt-xl-3,
    .my-xl-3 {
        margin-top: 1rem !important
    }
    .mr-xl-3,
    .mx-xl-3 {
        margin-right: 1rem !important
    }
    .mb-xl-3,
    .my-xl-3 {
        margin-bottom: 1rem !important
    }
    .ml-xl-3,
    .mx-xl-3 {
        margin-left: 1rem !important
    }
    .m-xl-4 {
        margin: 1.5rem !important
    }
    .mt-xl-4,
    .my-xl-4 {
        margin-top: 1.5rem !important
    }
    .mr-xl-4,
    .mx-xl-4 {
        margin-right: 1.5rem !important
    }
    .mb-xl-4,
    .my-xl-4 {
        margin-bottom: 1.5rem !important
    }
    .ml-xl-4,
    .mx-xl-4 {
        margin-left: 1.5rem !important
    }
    .m-xl-5 {
        margin: 3rem !important
    }
    .mt-xl-5,
    .my-xl-5 {
        margin-top: 3rem !important
    }
    .mr-xl-5,
    .mx-xl-5 {
        margin-right: 3rem !important
    }
    .mb-xl-5,
    .my-xl-5 {
        margin-bottom: 3rem !important
    }
    .ml-xl-5,
    .mx-xl-5 {
        margin-left: 3rem !important
    }
    .p-xl-0 {
        padding: 0 !important
    }
    .pt-xl-0,
    .py-xl-0 {
        padding-top: 0 !important
    }
    .pr-xl-0,
    .px-xl-0 {
        padding-right: 0 !important
    }
    .pb-xl-0,
    .py-xl-0 {
        padding-bottom: 0 !important
    }
    .pl-xl-0,
    .px-xl-0 {
        padding-left: 0 !important
    }
    .p-xl-1 {
        padding: .25rem !important
    }
    .pt-xl-1,
    .py-xl-1 {
        padding-top: .25rem !important
    }
    .pr-xl-1,
    .px-xl-1 {
        padding-right: .25rem !important
    }
    .pb-xl-1,
    .py-xl-1 {
        padding-bottom: .25rem !important
    }
    .pl-xl-1,
    .px-xl-1 {
        padding-left: .25rem !important
    }
    .p-xl-2 {
        padding: .5rem !important
    }
    .pt-xl-2,
    .py-xl-2 {
        padding-top: .5rem !important
    }
    .pr-xl-2,
    .px-xl-2 {
        padding-right: .5rem !important
    }
    .pb-xl-2,
    .py-xl-2 {
        padding-bottom: .5rem !important
    }
    .pl-xl-2,
    .px-xl-2 {
        padding-left: .5rem !important
    }
    .p-xl-3 {
        padding: 1rem !important
    }
    .pt-xl-3,
    .py-xl-3 {
        padding-top: 1rem !important
    }
    .pr-xl-3,
    .px-xl-3 {
        padding-right: 1rem !important
    }
    .pb-xl-3,
    .py-xl-3 {
        padding-bottom: 1rem !important
    }
    .pl-xl-3,
    .px-xl-3 {
        padding-left: 1rem !important
    }
    .p-xl-4 {
        padding: 1.5rem !important
    }
    .pt-xl-4,
    .py-xl-4 {
        padding-top: 1.5rem !important
    }
    .pr-xl-4,
    .px-xl-4 {
        padding-right: 1.5rem !important
    }
    .pb-xl-4,
    .py-xl-4 {
        padding-bottom: 1.5rem !important
    }
    .pl-xl-4,
    .px-xl-4 {
        padding-left: 1.5rem !important
    }
    .p-xl-5 {
        padding: 3rem !important
    }
    .pt-xl-5,
    .py-xl-5 {
        padding-top: 3rem !important
    }
    .pr-xl-5,
    .px-xl-5 {
        padding-right: 3rem !important
    }
    .pb-xl-5,
    .py-xl-5 {
        padding-bottom: 3rem !important
    }
    .pl-xl-5,
    .px-xl-5 {
        padding-left: 3rem !important
    }
    .m-xl-n1 {
        margin: -.25rem !important
    }
    .mt-xl-n1,
    .my-xl-n1 {
        margin-top: -.25rem !important
    }
    .mr-xl-n1,
    .mx-xl-n1 {
        margin-right: -.25rem !important
    }
    .mb-xl-n1,
    .my-xl-n1 {
        margin-bottom: -.25rem !important
    }
    .ml-xl-n1,
    .mx-xl-n1 {
        margin-left: -.25rem !important
    }
    .m-xl-n2 {
        margin: -.5rem !important
    }
    .mt-xl-n2,
    .my-xl-n2 {
        margin-top: -.5rem !important
    }
    .mr-xl-n2,
    .mx-xl-n2 {
        margin-right: -.5rem !important
    }
    .mb-xl-n2,
    .my-xl-n2 {
        margin-bottom: -.5rem !important
    }
    .ml-xl-n2,
    .mx-xl-n2 {
        margin-left: -.5rem !important
    }
    .m-xl-n3 {
        margin: -1rem !important
    }
    .mt-xl-n3,
    .my-xl-n3 {
        margin-top: -1rem !important
    }
    .mr-xl-n3,
    .mx-xl-n3 {
        margin-right: -1rem !important
    }
    .mb-xl-n3,
    .my-xl-n3 {
        margin-bottom: -1rem !important
    }
    .ml-xl-n3,
    .mx-xl-n3 {
        margin-left: -1rem !important
    }
    .m-xl-n4 {
        margin: -1.5rem !important
    }
    .mt-xl-n4,
    .my-xl-n4 {
        margin-top: -1.5rem !important
    }
    .mr-xl-n4,
    .mx-xl-n4 {
        margin-right: -1.5rem !important
    }
    .mb-xl-n4,
    .my-xl-n4 {
        margin-bottom: -1.5rem !important
    }
    .ml-xl-n4,
    .mx-xl-n4 {
        margin-left: -1.5rem !important
    }
    .m-xl-n5 {
        margin: -3rem !important
    }
    .mt-xl-n5,
    .my-xl-n5 {
        margin-top: -3rem !important
    }
    .mr-xl-n5,
    .mx-xl-n5 {
        margin-right: -3rem !important
    }
    .mb-xl-n5,
    .my-xl-n5 {
        margin-bottom: -3rem !important
    }
    .ml-xl-n5,
    .mx-xl-n5 {
        margin-left: -3rem !important
    }
    .m-xl-auto {
        margin: auto !important
    }
    .mt-xl-auto,
    .my-xl-auto {
        margin-top: auto !important
    }
    .mr-xl-auto,
    .mx-xl-auto {
        margin-right: auto !important
    }
    .mb-xl-auto,
    .my-xl-auto {
        margin-bottom: auto !important
    }
    .ml-xl-auto,
    .mx-xl-auto {
        margin-left: auto !important
    }
}

.embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden
}

.embed-responsive::before {
    display: block;
    content: ""
}

.embed-responsive .embed-responsive-item,
.embed-responsive embed,
.embed-responsive iframe,
.embed-responsive object,
.embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0
}

.embed-responsive-21by9::before {
    padding-top: 42.85714%
}

.embed-responsive-16by9::before {
    padding-top: 56.25%
}

.embed-responsive-4by3::before {
    padding-top: 75%
}

.embed-responsive-1by1::before {
    padding-top: 100%
}

.text-monospace {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important
}

.text-justify {
    text-align: justify !important
}

.text-wrap {
    white-space: normal !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.text-left {
    text-align: left !important
}

.text-right {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

@media (min-width:576px) {
    .text-sm-left {
        text-align: left !important
    }
    .text-sm-right {
        text-align: right !important
    }
    .text-sm-center {
        text-align: center !important
    }
}

@media (min-width:768px) {
    .text-md-left {
        text-align: left !important
    }
    .text-md-right {
        text-align: right !important
    }
    .text-md-center {
        text-align: center !important
    }
}

@media (min-width:992px) {
    .text-lg-left {
        text-align: left !important
    }
    .text-lg-right {
        text-align: right !important
    }
    .text-lg-center {
        text-align: center !important
    }
}

@media (min-width:1200px) {
    .text-xl-left {
        text-align: left !important
    }
    .text-xl-right {
        text-align: right !important
    }
    .text-xl-center {
        text-align: center !important
    }
}

.text-lowercase {
    text-transform: lowercase !important
}

.text-uppercase {
    text-transform: uppercase !important
}

.text-capitalize {
    text-transform: capitalize !important
}

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

.font-weight-lighter {
    font-weight: lighter !important
}

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

.font-weight-bold {
    font-weight: 700 !important
}

.font-weight-bolder {
    font-weight: bolder !important
}

.font-italic {
    font-style: italic !important
}

.text-white {
    color: #fff !important
}

.text-primary {
    color: #007bff !important
}

a.text-primary:focus,
a.text-primary:hover {
    color: #0056b3 !important
}

.text-secondary {
    color: #6c757d !important
}

a.text-secondary:focus,
a.text-secondary:hover {
    color: #494f54 !important
}

.text-success {
    color: #28a745 !important
}

a.text-success:focus,
a.text-success:hover {
    color: #19692c !important
}

.text-info {
    color: #17a2b8 !important
}

a.text-info:focus,
a.text-info:hover {
    color: #0f6674 !important
}

.text-warning {
    color: #ffc107 !important
}

a.text-warning:focus,
a.text-warning:hover {
    color: #ba8b00 !important
}

.text-danger {
    color: #dc3545 !important
}

a.text-danger:focus,
a.text-danger:hover {
    color: #a71d2a !important
}

.text-light {
    color: #f8f9fa !important
}

a.text-light:focus,
a.text-light:hover {
    color: #cbd3da !important
}

.text-dark {
    color: #343a40 !important
}

a.text-dark:focus,
a.text-dark:hover {
    color: #121416 !important
}

.text-body {
    color: #212529 !important
}

.text-muted {
    color: #6c757d !important
}

.text-black-50 {
    color: rgba(0, 0, 0, .5) !important
}

.text-white-50 {
    color: rgba(255, 255, 255, .5) !important
}

.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0
}

.text-decoration-none {
    text-decoration: none !important
}

.text-break {
    word-break: break-word !important;
    overflow-wrap: break-word !important
}

.text-reset {
    color: inherit !important
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2
}

.h1,
h1 {
    font-size: 2.5rem
}

.h2,
h2 {
    font-size: 2rem
}

.h3,
h3 {
    font-size: 1.75rem
}

.h4,
h4 {
    font-size: 1.5rem
}

.h5,
h5 {
    font-size: 1.25rem
}

.h6,
h6 {
    font-size: 1rem
}

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

.display-1 {
    font-size: 6rem;
    font-weight: 300;
    line-height: 1.2
}

.display-2 {
    font-size: 5.5rem;
    font-weight: 300;
    line-height: 1.2
}

.display-3 {
    font-size: 4.5rem;
    font-weight: 300;
    line-height: 1.2
}

.display-4 {
    font-size: 3.5rem;
    font-weight: 300;
    line-height: 1.2
}

hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, .1)
}

.small,
small {
    font-size: 80%;
    font-weight: 400
}

.mark,
mark {
    padding: .2em;
    background-color: #fcf8e3
}

.list-unstyled {
    padding-left: 0;
    list-style: none
}

.list-inline {
    padding-left: 0;
    list-style: none
}

.list-inline-item {
    display: inline-block
}

.list-inline-item:not(:last-child) {
    margin-right: .5rem
}

.initialism {
    font-size: 90%;
    text-transform: uppercase
}

.blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem
}

.blockquote-footer {
    display: block;
    font-size: 80%;
    color: #6c757d
}

.blockquote-footer::before {
    content: "\2014\00A0"
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.img-thumbnail {
    padding: .25rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    max-width: 100%;
    height: auto
}

.figure {
    display: inline-block
}

.figure-img {
    margin-bottom: .5rem;
    line-height: 1
}

.figure-caption {
    font-size: 90%;
    color: #6c757d
}

code {
    font-size: 87.5%;
    color: #e83e8c;
    word-wrap: break-word
}

a>code {
    color: inherit
}

kbd {
    padding: .2rem .4rem;
    font-size: 87.5%;
    color: #fff;
    background-color: #212529;
    border-radius: .2rem
}

kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700
}

pre {
    display: block;
    font-size: 87.5%;
    color: #212529
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal
}

.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll
}

@media print {
    *,
    ::after,
    ::before {
        text-shadow: none !important;
        box-shadow: none !important
    }
    a:not(.btn) {
        text-decoration: underline
    }
    abbr[title]::after {
        content: " (" attr(title) ")"
    }
    pre {
        white-space: pre-wrap !important
    }
    blockquote,
    pre {
        border: 1px solid #adb5bd;
        page-break-inside: avoid
    }
    thead {
        display: table-header-group
    }
    img,
    tr {
        page-break-inside: avoid
    }
    h2,
    h3,
    p {
        orphans: 3;
        widows: 3
    }
    h2,
    h3 {
        page-break-after: avoid
    }
    @page {
        size: a3
    }
    body {
        min-width: 992px !important
    }
    .container {
        min-width: 992px !important
    }
    .navbar {
        display: none
    }
    .badge {
        border: 1px solid #000
    }
    .table {
        border-collapse: collapse !important
    }
    .table td,
    .table th {
        background-color: #fff !important
    }
    .table-bordered td,
    .table-bordered th {
        border: 1px solid #dee2e6 !important
    }
    .table-dark {
        color: inherit
    }
    .table-dark tbody+tbody,
    .table-dark td,
    .table-dark th,
    .table-dark thead th {
        border-color: #dee2e6
    }
    .table .thead-dark th {
        color: inherit;
        border-color: #dee2e6
    }
}

:root {
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    touch-action: manipulation;
    font-size: 100%
}

*,
::after,
::before {
    box-sizing: border-box;
    outline: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

body {
    align-items: center;
    display: flex;
    justify-content: center;
    background-color: #000;
    left: 0;
    overflow: hidden;
    padding: 10px;
    position: fixed;
    top: 0;
    font-family: Chicago, sans-serif;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.25rem;
    height: 100vh;
    width: 100vw
}

@media (min-width:768px) {
    body {
        padding: 0
    }
}

body.crt .screen::after,
body.crt .screen::before {
    display: block
}

body.show-hidden-files .file.hidden {
    display: flex
}

body.media-playing .navbar .default-nav {
    display: none !important
}

body.media-playing .navbar .media-nav {
    display: flex !important
}

body.media-playing .screen {
    height: 350px
}

@media (min-width:768px) {
    body.media-playing .screen {
        height: 600px
    }
}

body.loading *,
body.loading :hover {
    cursor: url(../images/loader.png), wait !important
}

a {
    background-color: #fff;
    color: #000;
    text-decoration: none
}

a.active,
a:hover {
    background-color: #000;
    color: #fff
}

.bios {
    background-color: #101010;
    color: #fff;
    left: 0;
    padding: 20px;
    position: absolute;
    top: 0;
    z-index: 9;
    height: 100%;
    width: 100%
}

.bios p {
    margin: 0
}

.login {
    background: #fff url(../images/bg.png) 0 0 repeat;
    left: 0;
    padding: 20px;
    position: absolute;
    top: 0;
    z-index: 8;
    height: 100%;
    width: 100%
}

.login.loaded .login-dialog {
    opacity: 1
}

.login p {
    margin: 0
}

.login .login-dialog {
    align-items: center;
    background-color: #fff;
    border: 2px solid #000;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #000;
    display: flex;
    justify-content: center;
    max-width: 90%;
    min-height: 150px;
    opacity: 0;
    padding: 20px 20px;
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    width: 500px
}

.login .login-dialog-content {
    width: 260px
}

.login input[type=password] {
    border-radius: 0;
    border: 2px solid #000;
    box-shadow: none;
    height: 30px;
    font-size: 16px;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
    width: 100%
}

.login .submit {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: .1875rem;
    box-shadow: 0 0 0 2px #fff, 0 0 0 5px #000;
    cursor: pointer;
    display: inline-block;
    text-transform: uppercase;
    width: 120px
}

.login .submit:active,
.login .submit:hover {
    background-color: #000;
    color: #fff
}

.login .hint span {
    display: none
}

@keyframes flicker {
    0% {
        opacity: .1174
    }
    5% {
        opacity: .29168
    }
    10% {
        opacity: .18642
    }
    15% {
        opacity: .8546
    }
    20% {
        opacity: .53757
    }
    25% {
        opacity: .43149
    }
    30% {
        opacity: .93029
    }
    35% {
        opacity: .84422
    }
    40% {
        opacity: .9164
    }
    45% {
        opacity: .26239
    }
    50% {
        opacity: .22149
    }
    55% {
        opacity: .24262
    }
    60% {
        opacity: .22353
    }
    65% {
        opacity: .74954
    }
    70% {
        opacity: .73651
    }
    75% {
        opacity: .07305
    }
    80% {
        opacity: .1063
    }
    85% {
        opacity: .59895
    }
    90% {
        opacity: .34957
    }
    95% {
        opacity: .31456
    }
    100% {
        opacity: .146
    }
}

.video-container {
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%
}

.video {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 120%;
    width: auto
}

@media (min-width:768px) {
    .video {
        height: 150%;
        width: 150%
    }
}

.screen {
    background: #fff url(../images/bg.png) 0 0 repeat;
    border: 1px solid #000;
    border-radius: .625rem;
    margin: 0;
    padding-top: 30px;
    position: relative;
    overflow: hidden;
    transition: height 3s ease;
    z-index: 2;
    height: calc(100% - 40px);
    width: calc(100% - 5px)
}

@media (min-width:768px) {
    .screen {
        box-shadow: 0 0 100px rgba(0, 0, 0, .7);
        height: 600px;
        width: 800px
    }
}

.screen::after {
    animation: flicker .15s infinite;
    content: " ";
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(18, 16, 16, .08);
    opacity: 0;
    z-index: 10;
    pointer-events: none
}

.screen::before {
    content: " ";
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, .25) 50%), linear-gradient(90deg, rgba(255, 0, 0, .06), rgba(0, 255, 0, .02), rgba(0, 0, 255, .06));
    z-index: 10;
    background-size: 100% 2px, 3px 100%;
    pointer-events: none
}

.navbar {
    background-color: #fff;
    border-bottom: 1px solid #000;
    display: flex;
    justify-content: space-between;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 5
}

.navbar .left {
    display: flex;
    margin-left: 5px
}

.navbar .right {
    display: flex
}

.navbar .default-nav {
    display: flex
}

.navbar .media-nav {
    display: flex
}

.navbar .item.submenu {
    position: relative
}

.navbar .item.submenu.active .drop {
    opacity: 1;
    visibility: visible
}

.navbar .item.submenu.active .logo {
    background-color: #000
}

.navbar .item.submenu.active .logo:before {
    background: #000 url(../images/apple.png) 50% 100%/16px auto no-repeat
}

.navbar .item.submenu.active button {
    background-color: #000;
    color: #fff
}

.navbar .item .logo {
    position: relative;
    height: 28px;
    width: 38px
}

.navbar .item .logo:before {
    background: #fff url(../images/apple.png) 50% 0/16px auto no-repeat;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 20px;
    width: 20px
}

.navbar .item .logo.active,
.navbar .item .logo:active {
    background-color: #000
}

.navbar .item .logo.active:before,
.navbar .item .logo:active:before {
    background: #000 url(../images/apple.png) 50% 100%/16px auto no-repeat
}

.navbar .item button {
    padding: 0;
    border: none;
    font: inherit;
    color: inherit;
    background-color: transparent;
    cursor: pointer;
    outline: 0;
    padding: 7px 5px;
    font-family: Chicago, sans-serif;
    font-size: .875rem;
    font-weight: 400;
    line-height: .875rem
}

@media (min-width:768px) {
    .navbar .item button {
        padding: 7px 10px
    }
}

.navbar .item button.active,
.navbar .item button:active {
    background-color: #000;
    color: #fff
}

.navbar .item>span {
    display: block;
    padding: 3px 5px
}

@media (min-width:768px) {
    .navbar .item>span {
        padding: 3px 10px
    }
}

.navbar .item .drop {
    background-color: #fff;
    border: 1px solid #000;
    border-top: none;
    left: 0;
    list-style: none;
    margin: 0;
    opacity: 0;
    padding: 0;
    position: absolute;
    top: calc(100% + 1px);
    visibility: hidden;
    width: 160px
}

.navbar .item .drop>li a {
    display: block;
    padding: 4px 10px
}

.navbar .item .drop>li a:hover {
    background-color: #000;
    color: #fff
}

.navbar .item .drop>li a.disabled {
    opacity: .4
}

.navbar .item .drop>li a.disabled:hover {
    background-color: #fff;
    color: #000
}

.navbar .item .drop>li a.invert .off {
    display: none
}

.navbar .item .drop>li a.invert .on {
    display: block
}

.navbar .item .drop>li a .off {
    padding: 0;
    display: block
}

.navbar .item .drop>li a .on {
    padding: 0;
    display: none
}

.navbar .item .time {
    white-space: nowrap
}

.navbar .item .time span {
    display: none;
    padding: 0
}

@media (min-width:768px) {
    .navbar .item .time span {
        display: inline
    }
}

.finder {
    background-color: #fff;
    border: 1px solid #000;
    border-radius: .125rem;
    display: none;
    left: 20px;
    overflow: hidden;
    opacity: 1 !important;
    position: absolute;
    resize: both;
    top: 50px;
    z-index: 1;
    height: 250px;
    width: 320px
}

@media (min-width:768px) {
    .finder {
        height: 250px;
        width: 420px
    }
}

.finder.gktfolder {
    left: 30px;
    top: 60px
}

.finder.dietyeezusfolder {
    left: 40px;
    top: 70px
}

.finder.fdl {
    left: 50px;
    top: 80px;
    z-index: 2;
    height: 270px;
    width: 280px
}

@media (min-width:768px) {
    .finder.fdl {
        height: 300px;
        width: 320px
    }
}

.finder.fdl .body {
    overflow: hidden
}

.finder.fdl video {
    width: 100%
}

.finder.readme {
    left: 30px;
    top: 60px;
    z-index: 2;
    height: 300px;
    width: 320px
}

@media (min-width:768px) {
    .finder.readme {
        height: 450px;
        width: 320px
    }
}

.finder.readme .body {
    padding: 10px
}

.finder.readme .body p {
    margin: 0 0 10px
}

.finder.earth {
    left: 40px;
    top: 70px;
    z-index: 2;
    height: 300px;
    width: 320px
}

@media (min-width:768px) {
    .finder.earth {
        height: 450px;
        width: 320px
    }
}

.finder.earth .body {
    padding: 10px
}

.finder.earth .body p {
    margin: 0 0 10px
}

.finder.focus {
    z-index: 3
}

.finder .header {
    border-bottom: 1px solid #000;
    height: 20px;
    position: relative
}

.finder .header:before {
    background: #fff url(../images/header-bg.png) 0 50% repeat-x;
    content: "";
    display: block;
    height: 16px;
    left: 2px;
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%)
}

.finder .header .title {
    background-color: #fff;
    padding: 0 10px;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: Chicago, sans-serif;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.125rem
}

.finder .header .close {
    padding: 0;
    border: none;
    font: inherit;
    color: inherit;
    background-color: transparent;
    cursor: pointer;
    font: 0/0 a;
    /* used to be transparent */
    color: black; 
    font-size: 1vh;
    font-family: Chicago;
    src: url(../fonts/ChicagoFLF.woff2) format("woff2"), url(../fonts/ChicagoFLF.woff) format("woff");
    font-weight: 700;

    text-shadow: none;
    background-color: transparent;
    border: 0;
    background-color: #fff;
    left: 8px;
    outline: 0;
    position: absolute;
    top: 1px;
    height: 16px;
    width: 16px
}

.finder .header .close:before {
    border: 1px solid #000;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 11px;
    width: 11px
}

.finder .header .close.active:before,
.finder .header .close:active:before {
    background-color: #000
}

.finder .body {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    height: calc(100% - 20px);
    width: 100%;
    overflow: hidden;
    overflow-y: auto
}

.finder .body a {
    background-color: #fff;
    color: #000;
    text-decoration: underline
}

@media (min-width:768px) {
    .finder .body a {
        text-decoration: none
    }
}

.finder .body a.active,
.finder .body a:hover {
    background-color: #000;
    color: #fff
}

.finder .body::-webkit-scrollbar-track {
    background: url(../images/scrollbar-bg.png) 0 0 repeat;
    border-left: 1px solid #000
}

.finder .body::-webkit-scrollbar {
    background-color: #fff;
    width: 14px
}

.finder .body::-webkit-scrollbar-thumb {
    background-color: #fff;
    border: 1px solid #000;
    width: 10px
}

.file {
    padding: 0;
    border: none;
    font: inherit;
    color: inherit;
    background-color: transparent;
    cursor: pointer;
    display: flex;
    justify-content: center;
    margin: 10px;
    outline: 0;
    position: relative;
    width: 110px
}

.file.folder {
    padding-top: 40px
}

.file.folder:before {
    background: transparent url(../images/folder.png) 0 0/36px 58px no-repeat;
    bottom: 25px;
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 29px;
    width: 36px
}

.file.folder:active:before {
    background: transparent url(../images/folder.png) 0 100%/36px 58px no-repeat
}

.file.folder:active span {
    background-color: #000;
    color: #fff
}

.file.text {
    padding-top: 40px
}

.file.text:before {
    background: transparent url(../images/text.png) 0 0/28px 72px no-repeat;
    content: "";
    display: block;
    top: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 36px;
    width: 28px
}

.file.text.active:before,
.file.text.playing:before {
    background: transparent url(../images/text.png) 0 100%/28px 72px no-repeat
}

.file.text.active span,
.file.text.playing span {
    background-color: #000;
    color: #fff
}

.file.image {
    padding-top: 40px
}

.file.image:before {
    background: transparent url(../images/image.png) 0 0/28px 72px no-repeat;
    content: "";
    display: block;
    top: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 36px;
    width: 28px
}

.file.image.active:before,
.file.image.playing:before {
    background: transparent url(../images/image.png) 0 100%/28px 72px no-repeat
}

.file.image.active span,
.file.image.playing span {
    background-color: #000;
    color: #fff
}

.file.sound {
    padding-top: 40px
}

.file.sound:before {
    background: transparent url(../images/sound.png) 0 0/28px 72px no-repeat;
    content: "";
    display: block;
    top: 0;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 36px;
    width: 28px
}

.file.sound.active:before,
.file.sound.playing:before {
    background: transparent url(../images/sound.png) 0 100%/28px 72px no-repeat
}

.file.sound.active span,
.file.sound.playing span {
    background-color: #000;
    color: #fff
}

.file.hidden {
    display: none;
    opacity: .8
}

.file span {
    background-color: #fff;
    color: #000;
    display: block;
    padding: 0 2px;
    vertical-align: top
}

.file span em {
    font-style: normal
}

.dialog {
    align-items: center;
    background-color: #fff;
    border: 2px solid #000;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #000;
    display: none;
    justify-content: center;
    max-width: 90%;
    min-height: 150px;
    padding: 10px 20px;
    z-index: 4;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    width: 500px
}

.dialog.active {
    display: flex
}

.folder1 {
    position: absolute;
    right: 20px;
    top: 30px
}

.folder2 {
    position: absolute;
    right: 20px;
    top: 100px
}

.folder3 {
    position: absolute;
    right: 140px;
    top: 130px
}

.folder4 {
    position: absolute;
    right: 20px;
    top: 180px
}

.earthtxt {
    position: absolute;
    right: 140px;
    top: 60px
}

.lizard {
    position: absolute;
    right: 140px;
    top: 210px
}

.cursor {
    background: transparent url(../images/loader.png) 0 0/14px 21px no-repeat;
    display: none;
    left: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    z-index: 11;
    height: 21px;
    width: 14px
}

.print-visual {
    display: none
}

@media print {
    .screen {
        display: none
    }
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important
    }
    body {
        background-color: #fff;
        display: block;
        font-size: 10px;
        margin: 0;
        padding: 0
    }
    body .print-visual {
        display: block;
        height: auto;
        margin: 100px 0 0;
        width: 100vw
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl92YXJpYWJsZXMuc2NzcyIsIl9ub3JtYWxpemUuc2NzcyIsInN0eWxlLmNzcyIsIl91dGlsaXRpZXMuc2NzcyIsIl9mdW5jdGlvbnMuc2NzcyIsImJvb3RzdHJhcC9fZ3JpZC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL19mbGV4LnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL19jbGVhcmZpeC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJib290c3RyYXAvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiYm9vdHN0cmFwL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCJib290c3RyYXAvX3R5cGUuc2NzcyIsImJvb3RzdHJhcC92ZW5kb3IvX3Jmcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdHMuc2NzcyIsImJvb3RzdHJhcC9faW1hZ2VzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19pbWFnZS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiYm9vdHN0cmFwL19jb2RlLnNjc3MiLCJib290c3RyYXAvX3ByaW50LnNjc3MiLCJfbWFpbi5zY3NzIiwiX3JlbS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3Mi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QUEsRUFBQSxJQUNBLFVBQUEsSUU5QkksaUJGNkJKLEtBQUEsRUFBQSxFQUFBLFVBQ0EsVUFBQSxVRXpCRSxhRk9KLEtBQUEsRUFBQSxFQUFBLEtBQ0EsTUFBQSxLQUNBLFVBQUEsS0VKTSxVRk5OLEtBQUEsRUFBQSxFQUFBLFNBSUEsVUFBQSxTRUVNLFVGTk4sS0FBQSxFQUFBLEVBQUEsVUFJQSxVQUFBLFVFRU0sVUZOTixLQUFBLEVBQUEsRUFBQSxJQUlBLFVBQUEsSUVFTSxVRk5OLEtBQUEsRUFBQSxFQUFBLFVBSUEsVUFBQSxVRUVNLFVGTk4sS0FBQSxFQUFBLEVBQUEsVUFJQSxVQUFBLFVFRU0sVUZOTixLQUFBLEVBQUEsRUFBQSxJQUlBLFVBQUEsSUVFTSxVRk5OLEtBQUEsRUFBQSxFQUFBLFVBSUEsVUFBQSxVRUVNLFVGTk4sS0FBQSxFQUFBLEVBQUEsVUFJQSxVQUFBLFVFRU0sVUZOTixLQUFBLEVBQUEsRUFBQSxJQUlBLFVBQUEsSUVFTSxXRk5OLEtBQUEsRUFBQSxFQUFBLFVBSUEsVUFBQSxVRUVNLFdGTk4sS0FBQSxFQUFBLEVBQUEsVUFJQSxVQUFBLFVFRU0sV0ZOTixLQUFBLEVBQUEsRUFBQSxLQUlBLFVBQUEsS0VPSSxnQkFBRSxNQUFBLEdBRUYsZUFBRSxNQUFBLEdBR0EsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsWUFBRSxNQUFBLEVBQUYsYUFBRSxNQUFBLEdBQUYsYUFBRSxNQUFBLEdBQUYsYUFBRSxNQUFBLEdBTUEsYUZQUixZQUFBLEVFT1EsYUZQUixZQUFBLFNFT1EsYUZQUixZQUFBLFVFT1EsYUZQUixZQUFBLElFT1EsYUZQUixZQUFBLFVFT1EsYUZQUixZQUFBLFVFT1EsYUZQUixZQUFBLElFT1EsYUZQUixZQUFBLFVFT1EsYUZQUixZQUFBLFVFT1EsYUZQUixZQUFBLElF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LFNBQ0EsTUFBQSxNQUNBLElBQUEsS0FPRixRQUNFLFNBQUEsU0FDQSxNQUFBLE1BQ0EsSUFBQSxNQUVGLFFBQ0UsV0FBQSxZQUFBLG9CQUFBLEVBQUEsQ0FBQSxDQUFBLEtBQUEsS0FBQSxVQUNBLFFBQUEsS0FDQSxLQUFBLEVBQ0EsZUFBQSxLQUNBLFNBQUEsTUFDQSxJQUFBLEVBQ0EsUUFBQSxHeEJ4c0JFLE9BQUEsS0FDQSxNQUFBLEt3QjBzQkosY0FDRSxRQUFBLEtBRUYsYUFDRSxRQUNFLFFBQUEsS0FFRixFQUNFLDJCQUFBLGdCQUNDLGFBQUEsZ0JBRUgsS0FDRSxpQkFBQSxLQUNBLFFBQUEsTUFDQSxVQUFBLEtBQ0EsT0FBQSxFQUNBLFFBQUEsRUFMRixtQkFRSSxRQUFBLE1BQ0EsT0FBQSxLQUNBLE9BQUEsTUFBQSxFQUFBLEVBQ0EsTUFBQSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWl4aW4gZGVjbGFyZS1mb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZm9udC1maWxlbmFtZSwgJGZvbnQtd2VpZ2h0IDogbm9ybWFsLCAkZm9udC1zdHlsZSA6bm9ybWFsLCAkZm9udC1zdHJldGNoIDogbm9ybWFsKXtcblx0QGZvbnQtZmFjZXtcblx0XHRmb250LWZhbWlseTogJyN7JGZvbnQtZmFtaWx5fSc7XG4gICAgICAgIHNyYzogdXJsKCN7JGZvbnQtZmlsZW5hbWV9LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICAgICAgdXJsKCN7JGZvbnQtZmlsZW5hbWV9LndvZmYpIGZvcm1hdCgnd29mZicpO1xuXHRcdC8vIHNyYzogdXJsKCN7JGZvbnQtZmlsZW5hbWV9LmVvdCk7XG5cdFx0Ly8gc3JjOiB1cmwoI3skZm9udC1maWxlbmFtZX0uZW90PyNpZWZpeCkgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHRcdC8vIHVybCgjeyRmb250LWZpbGVuYW1lfS53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHQvLyB1cmwoI3skZm9udC1maWxlbmFtZX0udHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXG5cdFx0Ly8gdXJsKCN7JGZvbnQtZmlsZW5hbWV9LnN2ZyMjeyRmb250LWZhbWlseX0pIGZvcm1hdCgnc3ZnJyk7XG5cdFx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG5cdFx0Zm9udC1zdHlsZTogJGZvbnQtc3R5bGU7XG5cdFx0Zm9udC1zdHJldGNoOiAkZm9udC1zdHJldGNoO1xuXHR9XG59XG5AaW5jbHVkZSBkZWNsYXJlLWZvbnQtZmFjZSgnQ2hpY2FnbycsICdmb250cy9DaGljYWdvRkxGJywgNDAwKTtcblxuLy8gUkVNIHZhcmlhYmxlc1xuJHJlbS1iYXNlbGluZTogMTZweDtcbiRyZW0tZmFsbGJhY2s6IGZhbHNlO1xuJHJlbS1weC1vbmx5OiBmYWxzZTtcblxuLy8gQ3VzdG9tIHZhcmlhYmxlc1xuJGJhc2Vjb2xvcjogI2ZmZjtcbiRib3JkZXI6ICNjY2M7XG4kYmxhY2t0ZXh0OiAjMzMzO1xuJHBsYWNlaG9sZGVyOiAjNjY2O1xuJGVycm9yOiAjRkY0RDREO1xuXG4vLyBGb3JtIEVsZW1lbnRzXG4kZmVfYm9yZGVyOiAkYm9yZGVyO1xuJGZlX2JhY2tncm91bmQ6ICNlZWU7XG4kZmVfcHJpbWFyeTogJGJsYWNrdGV4dDtcbiRmZV9wbGFjZWhvbGRlcjogJHBsYWNlaG9sZGVyO1xuJGZlX2Vycm9yOiAkZXJyb3I7XG4kZmVfYm9yZGVycmFkaXVzOiByZW0oNHB4KTtcblxuJGZlX2ZvbnRzaXplOiByZW0oMTRweCk7XG4kZmVfbGluZWhlaWdodDogcmVtKDM2cHgpO1xuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkNoaWNhZ29cIjtcbiAgc3JjOiB1cmwoZm9udHMvQ2hpY2Fnb0ZMRi53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybChmb250cy9DaGljYWdvRkxGLndvZmYpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udmlkZW8td3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuICAudmlkZW8td3JhcHBlciBpZnJhbWUsIC52aWRlby13cmFwcGVyIG9iamVjdCB7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNTQwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNzIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogOTYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDExNDBweDsgfSB9XG5cbi5jb250YWluZXItZmx1aWQsIC5jb250YWluZXItc20sIC5jb250YWluZXItbWQsIC5jb250YWluZXItbGcsIC5jb250YWluZXIteGwge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29udGFpbmVyLCAuY29udGFpbmVyLXNtIHtcbiAgICBtYXgtd2lkdGg6IDU0MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIsIC5jb250YWluZXItc20sIC5jb250YWluZXItbWQge1xuICAgIG1heC13aWR0aDogNzIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbnRhaW5lciwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1sZyB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lciwgLmNvbnRhaW5lci1zbSwgLmNvbnRhaW5lci1tZCwgLmNvbnRhaW5lci1sZywgLmNvbnRhaW5lci14bCB7XG4gICAgbWF4LXdpZHRoOiAxMTQwcHg7IH0gfVxuXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICBtYXJnaW4tbGVmdDogLTE1cHg7IH1cblxuLm5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5uby1ndXR0ZXJzID4gLmNvbCxcbiAgLm5vLWd1dHRlcnMgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmNvbC0xLCAuY29sLTIsIC5jb2wtMywgLmNvbC00LCAuY29sLTUsIC5jb2wtNiwgLmNvbC03LCAuY29sLTgsIC5jb2wtOSwgLmNvbC0xMCwgLmNvbC0xMSwgLmNvbC0xMiwgLmNvbCxcbi5jb2wtYXV0bywgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiwgLmNvbC1zbSxcbi5jb2wtc20tYXV0bywgLmNvbC1tZC0xLCAuY29sLW1kLTIsIC5jb2wtbWQtMywgLmNvbC1tZC00LCAuY29sLW1kLTUsIC5jb2wtbWQtNiwgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCwgLmNvbC1tZC0xMSwgLmNvbC1tZC0xMiwgLmNvbC1tZCxcbi5jb2wtbWQtYXV0bywgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiwgLmNvbC1sZyxcbi5jb2wtbGctYXV0bywgLmNvbC14bC0xLCAuY29sLXhsLTIsIC5jb2wteGwtMywgLmNvbC14bC00LCAuY29sLXhsLTUsIC5jb2wteGwtNiwgLmNvbC14bC03LCAuY29sLXhsLTgsIC5jb2wteGwtOSwgLmNvbC14bC0xMCwgLmNvbC14bC0xMSwgLmNvbC14bC0xMiwgLmNvbC14bCxcbi5jb2wteGwtYXV0byB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4uY29sIHtcbiAgZmxleC1iYXNpczogMDtcbiAgZmxleC1ncm93OiAxO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnJvdy1jb2xzLTEgPiAqIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ucm93LWNvbHMtMiA+ICoge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4ucm93LWNvbHMtMyA+ICoge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4ucm93LWNvbHMtNCA+ICoge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4ucm93LWNvbHMtNSA+ICoge1xuICBmbGV4OiAwIDAgMjAlO1xuICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4ucm93LWNvbHMtNiA+ICoge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uY29sLWF1dG8ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cblxuLmNvbC0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmNvbC0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLmNvbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmNvbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmNvbC02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLmNvbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmNvbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmNvbC05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLmNvbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5jb2wtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uY29sLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ub3JkZXItZmlyc3Qge1xuICBvcmRlcjogLTE7IH1cblxuLm9yZGVyLWxhc3Qge1xuICBvcmRlcjogMTM7IH1cblxuLm9yZGVyLTAge1xuICBvcmRlcjogMDsgfVxuXG4ub3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLm9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4ub3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLm9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG4ub3JkZXItNyB7XG4gIG9yZGVyOiA3OyB9XG5cbi5vcmRlci04IHtcbiAgb3JkZXI6IDg7IH1cblxuLm9yZGVyLTkge1xuICBvcmRlcjogOTsgfVxuXG4ub3JkZXItMTAge1xuICBvcmRlcjogMTA7IH1cblxuLm9yZGVyLTExIHtcbiAgb3JkZXI6IDExOyB9XG5cbi5vcmRlci0xMiB7XG4gIG9yZGVyOiAxMjsgfVxuXG4ub2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLm9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4ub2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLm9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4ub2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLm9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4ub2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29sLXNtIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnJvdy1jb2xzLXNtLTEgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnJvdy1jb2xzLXNtLTIgPiAqIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5yb3ctY29scy1zbS0zID4gKiB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAucm93LWNvbHMtc20tNCA+ICoge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnJvdy1jb2xzLXNtLTUgPiAqIHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5yb3ctY29scy1zbS02ID4gKiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLXNtLWF1dG8ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuY29sLXNtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtc20tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLXNtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1zbS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtc20tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLXNtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1zbS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtc20tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLXNtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLXNtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtc20tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAub3JkZXItc20tZmlyc3Qge1xuICAgIG9yZGVyOiAtMTsgfVxuICAub3JkZXItc20tbGFzdCB7XG4gICAgb3JkZXI6IDEzOyB9XG4gIC5vcmRlci1zbS0wIHtcbiAgICBvcmRlcjogMDsgfVxuICAub3JkZXItc20tMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm9yZGVyLXNtLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5vcmRlci1zbS0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAub3JkZXItc20tNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm9yZGVyLXNtLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5vcmRlci1zbS02IHtcbiAgICBvcmRlcjogNjsgfVxuICAub3JkZXItc20tNyB7XG4gICAgb3JkZXI6IDc7IH1cbiAgLm9yZGVyLXNtLTgge1xuICAgIG9yZGVyOiA4OyB9XG4gIC5vcmRlci1zbS05IHtcbiAgICBvcmRlcjogOTsgfVxuICAub3JkZXItc20tMTAge1xuICAgIG9yZGVyOiAxMDsgfVxuICAub3JkZXItc20tMTEge1xuICAgIG9yZGVyOiAxMTsgfVxuICAub3JkZXItc20tMTIge1xuICAgIG9yZGVyOiAxMjsgfVxuICAub2Zmc2V0LXNtLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5vZmZzZXQtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5vZmZzZXQtc20tMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAub2Zmc2V0LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm9mZnNldC1zbS00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtc20tNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAub2Zmc2V0LXNtLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm9mZnNldC1zbS03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5vZmZzZXQtc20tOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAub2Zmc2V0LXNtLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm9mZnNldC1zbS0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtbWQge1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAucm93LWNvbHMtbWQtMSA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAucm93LWNvbHMtbWQtMiA+ICoge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnJvdy1jb2xzLW1kLTMgPiAqIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5yb3ctY29scy1tZC00ID4gKiB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAucm93LWNvbHMtbWQtNSA+ICoge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnJvdy1jb2xzLW1kLTYgPiAqIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbWQtYXV0byB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jb2wtbWQtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC1tZC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbWQtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLW1kLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1tZC01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wtbWQtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLW1kLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1tZC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wtbWQtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLW1kLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC1tZC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5vcmRlci1tZC1maXJzdCB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC5vcmRlci1tZC1sYXN0IHtcbiAgICBvcmRlcjogMTM7IH1cbiAgLm9yZGVyLW1kLTAge1xuICAgIG9yZGVyOiAwOyB9XG4gIC5vcmRlci1tZC0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAub3JkZXItbWQtMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm9yZGVyLW1kLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5vcmRlci1tZC00IHtcbiAgICBvcmRlcjogNDsgfVxuICAub3JkZXItbWQtNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm9yZGVyLW1kLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5vcmRlci1tZC03IHtcbiAgICBvcmRlcjogNzsgfVxuICAub3JkZXItbWQtOCB7XG4gICAgb3JkZXI6IDg7IH1cbiAgLm9yZGVyLW1kLTkge1xuICAgIG9yZGVyOiA5OyB9XG4gIC5vcmRlci1tZC0xMCB7XG4gICAgb3JkZXI6IDEwOyB9XG4gIC5vcmRlci1tZC0xMSB7XG4gICAgb3JkZXI6IDExOyB9XG4gIC5vcmRlci1tZC0xMiB7XG4gICAgb3JkZXI6IDEyOyB9XG4gIC5vZmZzZXQtbWQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm9mZnNldC1tZC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC1tZC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbWQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAub2Zmc2V0LW1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm9mZnNldC1tZC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQtbWQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAub2Zmc2V0LW1kLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm9mZnNldC1tZC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbWQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAub2Zmc2V0LW1kLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbC1sZyB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5yb3ctY29scy1sZy0xID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5yb3ctY29scy1sZy0yID4gKiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAucm93LWNvbHMtbGctMyA+ICoge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnJvdy1jb2xzLWxnLTQgPiAqIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5yb3ctY29scy1sZy01ID4gKiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAucm93LWNvbHMtbGctNiA+ICoge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1sZy1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC1sZy0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLWxnLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1sZy0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jb2wtbGctNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLWxnLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1sZy02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jb2wtbGctNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLWxnLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1sZy05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jb2wtbGctMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1sZy0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLWxnLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm9yZGVyLWxnLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLm9yZGVyLWxnLWxhc3Qge1xuICAgIG9yZGVyOiAxMzsgfVxuICAub3JkZXItbGctMCB7XG4gICAgb3JkZXI6IDA7IH1cbiAgLm9yZGVyLWxnLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5vcmRlci1sZy0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAub3JkZXItbGctMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm9yZGVyLWxnLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5vcmRlci1sZy01IHtcbiAgICBvcmRlcjogNTsgfVxuICAub3JkZXItbGctNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLm9yZGVyLWxnLTcge1xuICAgIG9yZGVyOiA3OyB9XG4gIC5vcmRlci1sZy04IHtcbiAgICBvcmRlcjogODsgfVxuICAub3JkZXItbGctOSB7XG4gICAgb3JkZXI6IDk7IH1cbiAgLm9yZGVyLWxnLTEwIHtcbiAgICBvcmRlcjogMTA7IH1cbiAgLm9yZGVyLWxnLTExIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgLm9yZGVyLWxnLTEyIHtcbiAgICBvcmRlcjogMTI7IH1cbiAgLm9mZnNldC1sZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAub2Zmc2V0LWxnLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAub2Zmc2V0LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm9mZnNldC1sZy0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5vZmZzZXQtbGctNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAub2Zmc2V0LWxnLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm9mZnNldC1sZy02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5vZmZzZXQtbGctNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAub2Zmc2V0LWxnLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm9mZnNldC1sZy05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5vZmZzZXQtbGctMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbC14bCB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5yb3ctY29scy14bC0xID4gKiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5yb3ctY29scy14bC0yID4gKiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAucm93LWNvbHMteGwtMyA+ICoge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnJvdy1jb2xzLXhsLTQgPiAqIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5yb3ctY29scy14bC01ID4gKiB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAucm93LWNvbHMteGwtNiA+ICoge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC14bC1hdXRvIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC14bC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLXhsLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC14bC0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jb2wteGwtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLXhsLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC14bC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jb2wteGwtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLXhsLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC14bC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jb2wteGwtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC14bC0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLXhsLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm9yZGVyLXhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLm9yZGVyLXhsLWxhc3Qge1xuICAgIG9yZGVyOiAxMzsgfVxuICAub3JkZXIteGwtMCB7XG4gICAgb3JkZXI6IDA7IH1cbiAgLm9yZGVyLXhsLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5vcmRlci14bC0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAub3JkZXIteGwtMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm9yZGVyLXhsLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5vcmRlci14bC01IHtcbiAgICBvcmRlcjogNTsgfVxuICAub3JkZXIteGwtNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLm9yZGVyLXhsLTcge1xuICAgIG9yZGVyOiA3OyB9XG4gIC5vcmRlci14bC04IHtcbiAgICBvcmRlcjogODsgfVxuICAub3JkZXIteGwtOSB7XG4gICAgb3JkZXI6IDk7IH1cbiAgLm9yZGVyLXhsLTEwIHtcbiAgICBvcmRlcjogMTA7IH1cbiAgLm9yZGVyLXhsLTExIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgLm9yZGVyLXhsLTEyIHtcbiAgICBvcmRlcjogMTI7IH1cbiAgLm9mZnNldC14bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAub2Zmc2V0LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXhsLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm9mZnNldC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5vZmZzZXQteGwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXhsLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm9mZnNldC14bC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5vZmZzZXQteGwtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXhsLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm9mZnNldC14bC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5vZmZzZXQteGwtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbi5kLW5vbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmQtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cblxuLmQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5kLXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuXG4uZC10YWJsZS1yb3cge1xuICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuXG4uZC10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbi5kLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cblxuLmQtaW5saW5lLWZsZXgge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuZC1zbS1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAuZC1zbS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXNtLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXNtLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLXNtLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmQtc20tdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC5kLXNtLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuZC1zbS1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZC1tZC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtbWQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAuZC1tZC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLW1kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLW1kLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLW1kLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmQtbWQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC5kLW1kLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuZC1tZC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZC1sZy1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAuZC1sZy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLWxnLXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLWxnLXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmQtbGctdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC5kLWxnLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuZC1sZy1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmQteGwtbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5kLXhsLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLmQteGwtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZC14bC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuZC14bC10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAuZC14bC10YWJsZS1yb3cge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC5kLXhsLXRhYmxlLWNlbGwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAuZC14bC1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cbiAgLmQteGwtaW5saW5lLWZsZXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuZC1wcmludC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LXRhYmxlLXJvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAuZC1wcmludC1pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDsgfSB9XG5cbi5mbGV4LXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuXG4uZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cblxuLmZsZXgtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4uZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuXG4uZmxleC1ub3dyYXAge1xuICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbi5mbGV4LXdyYXAtcmV2ZXJzZSB7XG4gIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cblxuLmZsZXgtZmlsbCB7XG4gIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmZsZXgtZ3Jvdy0wIHtcbiAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cblxuLmZsZXgtZ3Jvdy0xIHtcbiAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cblxuLmZsZXgtc2hyaW5rLTAge1xuICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG5cbi5mbGV4LXNocmluay0xIHtcbiAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4uanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cblxuLmp1c3RpZnktY29udGVudC1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cblxuLmp1c3RpZnktY29udGVudC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbi5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG5cbi5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24taXRlbXMtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1pdGVtcy1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1pdGVtcy1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1pdGVtcy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tY29udGVudC1zdGFydCB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tY29udGVudC1lbmQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1jb250ZW50LWNlbnRlciB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1jb250ZW50LWJldHdlZW4ge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLWNvbnRlbnQtYXJvdW5kIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLWNvbnRlbnQtc3RyZXRjaCB7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuXG4uYWxpZ24tc2VsZi1hdXRvIHtcbiAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1zZWxmLXN0YXJ0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1zZWxmLWVuZCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLXNlbGYtY2VudGVyIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLmFsaWduLXNlbGYtYmFzZWxpbmUge1xuICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5mbGV4LXNtLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXNtLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXNtLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAuZmxleC1zbS1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtc20td3JhcCB7XG4gICAgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtc20tbm93cmFwIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXNtLXdyYXAtcmV2ZXJzZSB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAuZmxleC1zbS1maWxsIHtcbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXNtLWdyb3ctMCB7XG4gICAgZmxleC1ncm93OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtc20tZ3Jvdy0xIHtcbiAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDsgfVxuICAuZmxleC1zbS1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDAgIWltcG9ydGFudDsgfVxuICAuZmxleC1zbS1zaHJpbmstMSB7XG4gICAgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LXNtLWVuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1zbS1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1zbS1lbmQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1zbS1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtc20tYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1zbS1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXNtLXN0YXJ0IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtc20tZW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWNlbnRlciB7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbiB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXNtLWFyb3VuZCB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtc20tc3RyZXRjaCB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLXNtLWF1dG8ge1xuICAgIGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1zbS1zdGFydCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLXNtLWVuZCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1zbS1jZW50ZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLXNtLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1zZWxmOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLXNtLXN0cmV0Y2gge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1tZC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAuZmxleC1tZC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAuZmxleC1tZC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbWQtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LW1kLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LW1kLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAuZmxleC1tZC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbWQtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAuZmxleC1tZC1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LW1kLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbWQtc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbWQtc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1tZC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1tZC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtbWQtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtbWQtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1tZC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1tZC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LW1kLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1tZC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1tZC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbWQtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1tZC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbWQtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1tZC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi1tZC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtbGctcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbGctY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbGctcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LWxnLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuICAuZmxleC1sZy13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAuZmxleC1sZy1ub3dyYXAge1xuICAgIGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbGctd3JhcC1yZXZlcnNlIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LWxnLWZpbGwge1xuICAgIGZsZXg6IDEgMSBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgtbGctZ3Jvdy0wIHtcbiAgICBmbGV4LWdyb3c6IDAgIWltcG9ydGFudDsgfVxuICAuZmxleC1sZy1ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LWxnLXNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LWxnLXNocmluay0xIHtcbiAgICBmbGV4LXNocmluazogMSAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQtbGctZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC1sZy1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMtbGctc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLWxnLWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLWxnLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy1sZy1iYXNlbGluZSB7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbGctc3RhcnQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1sZy1lbmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbGctY2VudGVyIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1sZy1iZXR3ZWVuIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWNvbnRlbnQtbGctYXJvdW5kIHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC1sZy1zdHJldGNoIHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbGctYXV0byB7XG4gICAgYWxpZ24tc2VsZjogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLWxnLXN0YXJ0IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbGctZW5kIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1zZWxmLWxnLWNlbnRlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbGctYmFzZWxpbmUge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYtbGctc3RyZXRjaCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmxleC14bC1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDsgfVxuICAuZmxleC14bC1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAuZmxleC14bC1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgteGwtY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXhsLXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXhsLW5vd3JhcCB7XG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAuZmxleC14bC13cmFwLXJldmVyc2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgteGwtZmlsbCB7XG4gICAgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAuZmxleC14bC1ncm93LTAge1xuICAgIGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gIC5mbGV4LXhsLWdyb3ctMSB7XG4gICAgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgteGwtc2hyaW5rLTAge1xuICAgIGZsZXgtc2hyaW5rOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsZXgteGwtc2hyaW5rLTEge1xuICAgIGZsZXgtc2hyaW5rOiAxICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC14bC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgLmp1c3RpZnktY29udGVudC14bC1lbmQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50OyB9XG4gIC5qdXN0aWZ5LWNvbnRlbnQteGwtYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1pdGVtcy14bC1zdGFydCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMteGwtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMteGwtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5lIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAuYWxpZ24taXRlbXMteGwtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC14bC1zdGFydCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXhsLWVuZCB7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC14bC1jZW50ZXIge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXhsLWJldHdlZW4ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDsgfVxuICAuYWxpZ24tY29udGVudC14bC1hcm91bmQge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG4gIC5hbGlnbi1jb250ZW50LXhsLXN0cmV0Y2gge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi14bC1hdXRvIHtcbiAgICBhbGlnbi1zZWxmOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYteGwtc3RhcnQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi14bC1lbmQge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgLmFsaWduLXNlbGYteGwtY2VudGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi14bC1iYXNlbGluZSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAuYWxpZ24tc2VsZi14bC1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7IH0gfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiOyB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5mbG9hdC1zbS1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5mbG9hdC1zbS1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLmZsb2F0LXNtLW5vbmUge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsb2F0LW1kLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLmZsb2F0LW1kLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuICAuZmxvYXQtbWQtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxvYXQtbGctbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAuZmxvYXQtbGctcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5mbG9hdC1sZy1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmxvYXQteGwtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAuZmxvYXQteGwtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC5mbG9hdC14bC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLm0tMCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi5tdC0wLFxuLm15LTAge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLm1yLTAsXG4ubXgtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5tYi0wLFxuLm15LTAge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLm1sLTAsXG4ubXgtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLm0tMSB7XG4gIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tdC0xLFxuLm15LTEge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1yLTEsXG4ubXgtMSB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYi0xLFxuLm15LTEge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1sLTEsXG4ubXgtMSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tMiB7XG4gIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm10LTIsXG4ubXktMiB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tci0yLFxuLm14LTIge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYi0yLFxuLm15LTIge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWwtMixcbi5teC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLTMge1xuICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubXQtMyxcbi5teS0zIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tci0zLFxuLm14LTMge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWItMyxcbi5teS0zIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tbC0zLFxuLm14LTMge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLTQge1xuICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tdC00LFxuLm15LTQge1xuICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXItNCxcbi5teC00IHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWItNCxcbi5teS00IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1sLTQsXG4ubXgtNCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS01IHtcbiAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm10LTUsXG4ubXktNSB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubXItNSxcbi5teC01IHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1iLTUsXG4ubXktNSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWwtNSxcbi5teC01IHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucC0wIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5wdC0wLFxuLnB5LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5wci0wLFxuLnB4LTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnBiLTAsXG4ucHktMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnBsLTAsXG4ucHgtMCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5wLTEge1xuICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnB0LTEsXG4ucHktMSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnByLTEsXG4ucHgtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGItMSxcbi5weS0xIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGwtMSxcbi5weC0xIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtMiB7XG4gIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wdC0yLFxuLnB5LTIge1xuICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnByLTIsXG4ucHgtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYi0yLFxuLnB5LTIge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnBsLTIsXG4ucHgtMiB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtMyB7XG4gIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucHQtMyxcbi5weS0zIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucHItMyxcbi5weC0zIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYi0zLFxuLnB5LTMge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wbC0zLFxuLnB4LTMge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucC00IHtcbiAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnB0LTQsXG4ucHktNCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucHItNCxcbi5weC00IHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnBiLTQsXG4ucHktNCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGwtNCxcbi5weC00IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC01IHtcbiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wdC01LFxuLnB5LTUge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wci01LFxuLnB4LTUge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBiLTUsXG4ucHktNSB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBsLTUsXG4ucHgtNSB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tLW4xIHtcbiAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tdC1uMSxcbi5teS1uMSB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1yLW4xLFxuLm14LW4xIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYi1uMSxcbi5teS1uMSB7XG4gIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1sLW4xLFxuLm14LW4xIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tbjIge1xuICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXQtbjIsXG4ubXktbjIge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1yLW4yLFxuLm14LW4yIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1iLW4yLFxuLm15LW4yIHtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tbC1uMixcbi5teC1uMiB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tbjMge1xuICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7IH1cblxuLm10LW4zLFxuLm15LW4zIHtcbiAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ubXItbjMsXG4ubXgtbjMge1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1iLW4zLFxuLm15LW4zIHtcbiAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWwtbjMsXG4ubXgtbjMge1xuICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1uNCB7XG4gIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tdC1uNCxcbi5teS1uNCB7XG4gIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubXItbjQsXG4ubXgtbjQge1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWItbjQsXG4ubXktbjQge1xuICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1sLW40LFxuLm14LW40IHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1uNSB7XG4gIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDsgfVxuXG4ubXQtbjUsXG4ubXktbjUge1xuICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tci1uNSxcbi5teC1uNSB7XG4gIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWItbjUsXG4ubXktbjUge1xuICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tbC1uNSxcbi5teC1uNSB7XG4gIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWF1dG8ge1xuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubXQtYXV0byxcbi5teS1hdXRvIHtcbiAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tci1hdXRvLFxuLm14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ubWItYXV0byxcbi5teS1hdXRvIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tbC1hdXRvLFxuLm14LWF1dG8ge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubS1zbS0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICAubXQtc20tMCxcbiAgLm15LXNtLTAge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAubXItc20tMCxcbiAgLm14LXNtLTAge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS0wLFxuICAubXktc20tMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS0wLFxuICAubXgtc20tMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAubS1zbS0xIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtc20tMSxcbiAgLm15LXNtLTEge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItc20tMSxcbiAgLm14LXNtLTEge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS0xLFxuICAubXktc20tMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS0xLFxuICAubXgtc20tMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1zbS0yIHtcbiAgICBtYXJnaW46IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1zbS0yLFxuICAubXktc20tMiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXNtLTIsXG4gIC5teC1zbS0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS0yLFxuICAubXktc20tMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXNtLTIsXG4gIC5teC1zbS0yIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tc20tMyB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXNtLTMsXG4gIC5teS1zbS0zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXNtLTMsXG4gIC5teC1zbS0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWItc20tMyxcbiAgLm15LXNtLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWwtc20tMyxcbiAgLm14LXNtLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tc20tNCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtc20tNCxcbiAgLm15LXNtLTQge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1zbS00LFxuICAubXgtc20tNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItc20tNCxcbiAgLm15LXNtLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS00LFxuICAubXgtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXNtLTUge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1zbS01LFxuICAubXktc20tNSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1zbS01LFxuICAubXgtc20tNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXNtLTUsXG4gIC5teS1zbS01IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXNtLTUsXG4gIC5teC1zbS01IHtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wLXNtLTAge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAucHQtc20tMCxcbiAgLnB5LXNtLTAge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnByLXNtLTAsXG4gIC5weC1zbS0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXNtLTAsXG4gIC5weS1zbS0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5wbC1zbS0wLFxuICAucHgtc20tMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnAtc20tMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1zbS0xLFxuICAucHktc20tMSB7XG4gICAgcGFkZGluZy10b3A6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucHItc20tMSxcbiAgLnB4LXNtLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucGItc20tMSxcbiAgLnB5LXNtLTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLXNtLTEsXG4gIC5weC1zbS0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucC1zbS0yIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQtc20tMixcbiAgLnB5LXNtLTIge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHItc20tMixcbiAgLnB4LXNtLTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1zbS0yLFxuICAucHktc20tMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1zbS0yLFxuICAucHgtc20tMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucC1zbS0zIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LXNtLTMsXG4gIC5weS1zbS0zIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1zbS0zLFxuICAucHgtc20tMyB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1zbS0zLFxuICAucHktc20tMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAucGwtc20tMyxcbiAgLnB4LXNtLTMge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLXNtLTQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1zbS00LFxuICAucHktc20tNCB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1zbS00LFxuICAucHgtc20tNCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXNtLTQsXG4gIC5weS1zbS00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLXNtLTQsXG4gIC5weC1zbS00IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLXNtLTUge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucHQtc20tNSxcbiAgLnB5LXNtLTUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLXNtLTUsXG4gIC5weC1zbS01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXNtLTUsXG4gIC5weS1zbS01IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1zbS01LFxuICAucHgtc20tNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tc20tbjEge1xuICAgIG1hcmdpbjogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtc20tbjEsXG4gIC5teS1zbS1uMSB7XG4gICAgbWFyZ2luLXRvcDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItc20tbjEsXG4gIC5teC1zbS1uMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1zbS1uMSxcbiAgLm15LXNtLW4xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS1uMSxcbiAgLm14LXNtLW4xIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1zbS1uMiB7XG4gICAgbWFyZ2luOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXNtLW4yLFxuICAubXktc20tbjIge1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItc20tbjIsXG4gIC5teC1zbS1uMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXNtLW4yLFxuICAubXktc20tbjIge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtc20tbjIsXG4gIC5teC1zbS1uMiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1zbS1uMyB7XG4gICAgbWFyZ2luOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1zbS1uMyxcbiAgLm15LXNtLW4zIHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1zbS1uMyxcbiAgLm14LXNtLW4zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXNtLW4zLFxuICAubXktc20tbjMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXNtLW4zLFxuICAubXgtc20tbjMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXNtLW40IHtcbiAgICBtYXJnaW46IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtc20tbjQsXG4gIC5teS1zbS1uNCB7XG4gICAgbWFyZ2luLXRvcDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1zbS1uNCxcbiAgLm14LXNtLW40IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItc20tbjQsXG4gIC5teS1zbS1uNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1zbS1uNCxcbiAgLm14LXNtLW40IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXNtLW41IHtcbiAgICBtYXJnaW46IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXNtLW41LFxuICAubXktc20tbjUge1xuICAgIG1hcmdpbi10b3A6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXNtLW41LFxuICAubXgtc20tbjUge1xuICAgIG1hcmdpbi1yaWdodDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubWItc20tbjUsXG4gIC5teS1zbS1uNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubWwtc20tbjUsXG4gIC5teC1zbS1uNSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tc20tYXV0byB7XG4gICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm10LXNtLWF1dG8sXG4gIC5teS1zbS1hdXRvIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXNtLWF1dG8sXG4gIC5teC1zbS1hdXRvIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAubWItc20tYXV0byxcbiAgLm15LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICAubWwtc20tYXV0byxcbiAgLm14LXNtLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm0tbWQtMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLTAsXG4gIC5teS1tZC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1yLW1kLTAsXG4gIC5teC1tZC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAubWItbWQtMCxcbiAgLm15LW1kLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAubWwtbWQtMCxcbiAgLm14LW1kLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm0tbWQtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLTEsXG4gIC5teS1tZC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLW1kLTEsXG4gIC5teC1tZC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbWQtMSxcbiAgLm15LW1kLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbWQtMSxcbiAgLm14LW1kLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbWQtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbWQtMixcbiAgLm15LW1kLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1tZC0yLFxuICAubXgtbWQtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbWQtMixcbiAgLm15LW1kLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1tZC0yLFxuICAubXgtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLW1kLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1tZC0zLFxuICAubXktbWQtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1tZC0zLFxuICAubXgtbWQtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLW1kLTMsXG4gIC5teS1tZC0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLW1kLTMsXG4gIC5teC1tZC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLW1kLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLTQsXG4gIC5teS1tZC00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItbWQtNCxcbiAgLm14LW1kLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLW1kLTQsXG4gIC5teS1tZC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbWQtNCxcbiAgLm14LW1kLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1tZC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbWQtNSxcbiAgLm15LW1kLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubXItbWQtNSxcbiAgLm14LW1kLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1tZC01LFxuICAubXktbWQtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1tZC01LFxuICAubXgtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucC1tZC0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnB0LW1kLTAsXG4gIC5weS1tZC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5wci1tZC0wLFxuICAucHgtbWQtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5wYi1tZC0wLFxuICAucHktbWQtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucGwtbWQtMCxcbiAgLnB4LW1kLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5wLW1kLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQtbWQtMSxcbiAgLnB5LW1kLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLW1kLTEsXG4gIC5weC1tZC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLW1kLTEsXG4gIC5weS1tZC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1tZC0xLFxuICAucHgtbWQtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtbWQtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LW1kLTIsXG4gIC5weS1tZC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLW1kLTIsXG4gIC5weC1tZC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGItbWQtMixcbiAgLnB5LW1kLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGwtbWQtMixcbiAgLnB4LW1kLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtbWQtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1tZC0zLFxuICAucHktbWQtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucHItbWQtMyxcbiAgLnB4LW1kLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucGItbWQtMyxcbiAgLnB5LW1kLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLW1kLTMsXG4gIC5weC1tZC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucC1tZC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQtbWQtNCxcbiAgLnB5LW1kLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHItbWQtNCxcbiAgLnB4LW1kLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1tZC00LFxuICAucHktbWQtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1tZC00LFxuICAucHgtbWQtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucC1tZC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LW1kLTUsXG4gIC5weS1tZC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1tZC01LFxuICAucHgtbWQtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1tZC01LFxuICAucHktbWQtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICAucGwtbWQtNSxcbiAgLnB4LW1kLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tLW1kLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLW4xLFxuICAubXktbWQtbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLW1kLW4xLFxuICAubXgtbWQtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbWQtbjEsXG4gIC5teS1tZC1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbWQtbjEsXG4gIC5teC1tZC1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbWQtbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1tZC1uMixcbiAgLm15LW1kLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLW1kLW4yLFxuICAubXgtbWQtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1tZC1uMixcbiAgLm15LW1kLW4yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLW1kLW4yLFxuICAubXgtbWQtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbWQtbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbWQtbjMsXG4gIC5teS1tZC1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubXItbWQtbjMsXG4gIC5teC1tZC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1tZC1uMyxcbiAgLm15LW1kLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1tZC1uMyxcbiAgLm14LW1kLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubS1tZC1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LW1kLW40LFxuICAubXktbWQtbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItbWQtbjQsXG4gIC5teC1tZC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLW1kLW40LFxuICAubXktbWQtbjQge1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbWQtbjQsXG4gIC5teC1tZC1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1tZC1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1tZC1uNSxcbiAgLm15LW1kLW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1tZC1uNSxcbiAgLm14LW1kLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLW1kLW41LFxuICAubXktbWQtbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLW1kLW41LFxuICAubXgtbWQtbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tLW1kLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tdC1tZC1hdXRvLFxuICAubXktbWQtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tci1tZC1hdXRvLFxuICAubXgtbWQtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1iLW1kLWF1dG8sXG4gIC5teS1tZC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1sLW1kLWF1dG8sXG4gIC5teC1tZC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tLWxnLTAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy0wLFxuICAubXktbGctMCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5tci1sZy0wLFxuICAubXgtbGctMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLTAsXG4gIC5teS1sZy0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLTAsXG4gIC5teC1sZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5tLWxnLTEge1xuICAgIG1hcmdpbjogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy0xLFxuICAubXktbGctMSB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1sZy0xLFxuICAubXgtbGctMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLTEsXG4gIC5teS1sZy0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLTEsXG4gIC5teC1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLWxnLTIge1xuICAgIG1hcmdpbjogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LWxnLTIsXG4gIC5teS1sZy0yIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXItbGctMixcbiAgLm14LWxnLTIge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLTIsXG4gIC5teS1sZy0yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbGctMixcbiAgLm14LWxnLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS1sZy0zIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbGctMyxcbiAgLm15LWxnLTMge1xuICAgIG1hcmdpbi10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubXItbGctMyxcbiAgLm14LWxnLTMge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1sZy0zLFxuICAubXktbGctMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1sZy0zLFxuICAubXgtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubS1sZy00IHtcbiAgICBtYXJnaW46IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy00LFxuICAubXktbGctNCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLWxnLTQsXG4gIC5teC1sZy00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1sZy00LFxuICAubXktbGctNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLTQsXG4gIC5teC1sZy00IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbGctNSB7XG4gICAgbWFyZ2luOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LWxnLTUsXG4gIC5teS1sZy01IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLWxnLTUsXG4gIC5teC1sZy01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubWItbGctNSxcbiAgLm15LWxnLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbGctNSxcbiAgLm14LWxnLTUge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtbGctMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5wdC1sZy0wLFxuICAucHktbGctMCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAucHItbGctMCxcbiAgLnB4LWxnLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAucGItbGctMCxcbiAgLnB5LWxnLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBsLWxnLTAsXG4gIC5weC1sZy0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAucC1sZy0xIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LWxnLTEsXG4gIC5weS1sZy0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1sZy0xLFxuICAucHgtbGctMSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi1sZy0xLFxuICAucHktbGctMSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucGwtbGctMSxcbiAgLnB4LWxnLTEge1xuICAgIHBhZGRpbmctbGVmdDogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLWxnLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1sZy0yLFxuICAucHktbGctMiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wci1sZy0yLFxuICAucHgtbGctMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLWxnLTIsXG4gIC5weS1sZy0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLWxnLTIsXG4gIC5weC1sZy0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wLWxnLTMge1xuICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucHQtbGctMyxcbiAgLnB5LWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLWxnLTMsXG4gIC5weC1sZy0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLWxnLTMsXG4gIC5weS1sZy0zIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC1sZy0zLFxuICAucHgtbGctMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtbGctNCB7XG4gICAgcGFkZGluZzogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LWxnLTQsXG4gIC5weS1sZy00IHtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLWxnLTQsXG4gIC5weC1sZy00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGItbGctNCxcbiAgLnB5LWxnLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGwtbGctNCxcbiAgLnB4LWxnLTQge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAtbGctNSB7XG4gICAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC1sZy01LFxuICAucHktbGctNSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucHItbGctNSxcbiAgLnB4LWxnLTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucGItbGctNSxcbiAgLnB5LWxnLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLWxnLTUsXG4gIC5weC1sZy01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubS1sZy1uMSB7XG4gICAgbWFyZ2luOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy1uMSxcbiAgLm15LWxnLW4xIHtcbiAgICBtYXJnaW4tdG9wOiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1sZy1uMSxcbiAgLm14LWxnLW4xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLWxnLW4xLFxuICAubXktbGctbjEge1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLW4xLFxuICAubXgtbGctbjEge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLWxnLW4yIHtcbiAgICBtYXJnaW46IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbGctbjIsXG4gIC5teS1sZy1uMiB7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci1sZy1uMixcbiAgLm14LWxnLW4yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWItbGctbjIsXG4gIC5teS1sZy1uMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1sZy1uMixcbiAgLm14LWxnLW4yIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLWxnLW4zIHtcbiAgICBtYXJnaW46IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LWxnLW4zLFxuICAubXktbGctbjMge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLWxnLW4zLFxuICAubXgtbGctbjMge1xuICAgIG1hcmdpbi1yaWdodDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubWItbGctbjMsXG4gIC5teS1sZy1uMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubWwtbGctbjMsXG4gIC5teC1sZy1uMyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbGctbjQge1xuICAgIG1hcmdpbjogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC1sZy1uNCxcbiAgLm15LWxnLW40IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLWxnLW40LFxuICAubXgtbGctbjQge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1sZy1uNCxcbiAgLm15LWxnLW40IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLWxnLW40LFxuICAubXgtbGctbjQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0tbGctbjUge1xuICAgIG1hcmdpbjogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubXQtbGctbjUsXG4gIC5teS1sZy1uNSB7XG4gICAgbWFyZ2luLXRvcDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubXItbGctbjUsXG4gIC5teC1sZy1uNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi1sZy1uNSxcbiAgLm15LWxnLW41IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC1sZy1uNSxcbiAgLm14LWxnLW41IHtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW0gIWltcG9ydGFudDsgfVxuICAubS1sZy1hdXRvIHtcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAubXQtbGctYXV0byxcbiAgLm15LWxnLWF1dG8ge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuICAubXItbGctYXV0byxcbiAgLm14LWxnLWF1dG8ge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tYi1sZy1hdXRvLFxuICAubXktbGctYXV0byB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tbC1sZy1hdXRvLFxuICAubXgtbGctYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm0teGwtMCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLTAsXG4gIC5teS14bC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXhsLTAsXG4gIC5teC14bC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAubWIteGwtMCxcbiAgLm15LXhsLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAubWwteGwtMCxcbiAgLm14LXhsLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm0teGwtMSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLTEsXG4gIC5teS14bC0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXhsLTEsXG4gIC5teC14bC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWIteGwtMSxcbiAgLm15LXhsLTEge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwteGwtMSxcbiAgLm14LXhsLTEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0teGwtMiB7XG4gICAgbWFyZ2luOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXQteGwtMixcbiAgLm15LXhsLTIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci14bC0yLFxuICAubXgteGwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWIteGwtMixcbiAgLm15LXhsLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC14bC0yLFxuICAubXgteGwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXhsLTMge1xuICAgIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC14bC0zLFxuICAubXkteGwtMyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tci14bC0zLFxuICAubXgteGwtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXhsLTMsXG4gIC5teS14bC0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXhsLTMsXG4gIC5teC14bC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXhsLTQge1xuICAgIG1hcmdpbjogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLTQsXG4gIC5teS14bC00IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXIteGwtNCxcbiAgLm14LXhsLTQge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXhsLTQsXG4gIC5teS14bC00IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwteGwtNCxcbiAgLm14LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS14bC01IHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuICAubXQteGwtNSxcbiAgLm15LXhsLTUge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubXIteGwtNSxcbiAgLm14LXhsLTUge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi14bC01LFxuICAubXkteGwtNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC14bC01LFxuICAubXgteGwtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAucC14bC0wIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnB0LXhsLTAsXG4gIC5weS14bC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5wci14bC0wLFxuICAucHgteGwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5wYi14bC0wLFxuICAucHkteGwtMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucGwteGwtMCxcbiAgLnB4LXhsLTAge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5wLXhsLTEge1xuICAgIHBhZGRpbmc6IDAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQteGwtMSxcbiAgLnB5LXhsLTEge1xuICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLXhsLTEsXG4gIC5weC14bC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBiLXhsLTEsXG4gIC5weS14bC0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC14bC0xLFxuICAucHgteGwtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAteGwtMiB7XG4gICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LXhsLTIsXG4gIC5weS14bC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnByLXhsLTIsXG4gIC5weC14bC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGIteGwtMixcbiAgLnB5LXhsLTIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuICAucGwteGwtMixcbiAgLnB4LXhsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLnAteGwtMyB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wdC14bC0zLFxuICAucHkteGwtMyB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucHIteGwtMyxcbiAgLnB4LXhsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucGIteGwtMyxcbiAgLnB5LXhsLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnBsLXhsLTMsXG4gIC5weC14bC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAucC14bC00IHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHQteGwtNCxcbiAgLnB5LXhsLTQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucHIteGwtNCxcbiAgLnB4LXhsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi14bC00LFxuICAucHkteGwtNCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5wbC14bC00LFxuICAucHgteGwtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAucC14bC01IHtcbiAgICBwYWRkaW5nOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLnB0LXhsLTUsXG4gIC5weS14bC01IHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wci14bC01LFxuICAucHgteGwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5wYi14bC01LFxuICAucHkteGwtNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICAucGwteGwtNSxcbiAgLnB4LXhsLTUge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXhsLW4xIHtcbiAgICBtYXJnaW46IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLW4xLFxuICAubXkteGwtbjEge1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXhsLW4xLFxuICAubXgteGwtbjEge1xuICAgIG1hcmdpbi1yaWdodDogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWIteGwtbjEsXG4gIC5teS14bC1uMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuMjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwteGwtbjEsXG4gIC5teC14bC1uMSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0teGwtbjIge1xuICAgIG1hcmdpbjogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC14bC1uMixcbiAgLm15LXhsLW4yIHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1yLXhsLW4yLFxuICAubXgteGwtbjIge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi14bC1uMixcbiAgLm15LXhsLW4yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXhsLW4yLFxuICAubXgteGwtbjIge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm0teGwtbjMge1xuICAgIG1hcmdpbjogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubXQteGwtbjMsXG4gIC5teS14bC1uMyB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubXIteGwtbjMsXG4gIC5teC14bC1uMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tYi14bC1uMyxcbiAgLm15LXhsLW4zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tbC14bC1uMyxcbiAgLm14LXhsLW4zIHtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW0gIWltcG9ydGFudDsgfVxuICAubS14bC1uNCB7XG4gICAgbWFyZ2luOiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm10LXhsLW40LFxuICAubXkteGwtbjQge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubXIteGwtbjQsXG4gIC5teC14bC1uNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXhsLW40LFxuICAubXkteGwtbjQge1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubWwteGwtbjQsXG4gIC5teC14bC1uNCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW0gIWltcG9ydGFudDsgfVxuICAubS14bC1uNSB7XG4gICAgbWFyZ2luOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tdC14bC1uNSxcbiAgLm15LXhsLW41IHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tci14bC1uNSxcbiAgLm14LXhsLW41IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXhsLW41LFxuICAubXkteGwtbjUge1xuICAgIG1hcmdpbi1ib3R0b206IC0zcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXhsLW41LFxuICAubXgteGwtbjUge1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tLXhsLWF1dG8ge1xuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tdC14bC1hdXRvLFxuICAubXkteGwtYXV0byB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC5tci14bC1hdXRvLFxuICAubXgteGwtYXV0byB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1iLXhsLWF1dG8sXG4gIC5teS14bC1hdXRvIHtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLm1sLXhsLWF1dG8sXG4gIC5teC14bC1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZW1iZWQtcmVzcG9uc2l2ZTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSxcbiAgLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsXG4gIC5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCxcbiAgLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OTo6YmVmb3JlIHtcbiAgcGFkZGluZy10b3A6IDQyLjg1NzE0JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OTo6YmVmb3JlIHtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogNzUlOyB9XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTE6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiAxMDAlOyB9XG5cbi50ZXh0LW1vbm9zcGFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4udGV4dC13cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG4udGV4dC10cnVuY2F0ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAudGV4dC1zbS1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtc20tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtc20tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGV4dC1tZC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtbWQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtbWQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGV4dC1sZy1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtbGctcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtbGctY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRleHQteGwtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXhsLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXhsLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi5mb250LXdlaWdodC1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtbGlnaHRlciB7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2VpZ2h0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtYm9sZGVyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlciAhaW1wb3J0YW50OyB9XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDsgfVxuXG5hLnRleHQtcHJpbWFyeTpob3ZlciwgYS50ZXh0LXByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogIzAwNTZiMyAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjNmM3NTdkICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LXNlY29uZGFyeTpob3ZlciwgYS50ZXh0LXNlY29uZGFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjNDk0ZjU0ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMjhhNzQ1ICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsIGEudGV4dC1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICMxOTY5MmMgIWltcG9ydGFudDsgfVxuXG4udGV4dC1pbmZvIHtcbiAgY29sb3I6ICMxN2EyYjggIWltcG9ydGFudDsgfVxuXG5hLnRleHQtaW5mbzpob3ZlciwgYS50ZXh0LWluZm86Zm9jdXMge1xuICBjb2xvcjogIzBmNjY3NCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZmYzEwNyAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC13YXJuaW5nOmhvdmVyLCBhLnRleHQtd2FybmluZzpmb2N1cyB7XG4gIGNvbG9yOiAjYmE4YjAwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtZGFuZ2VyIHtcbiAgY29sb3I6ICNkYzM1NDUgIWltcG9ydGFudDsgfVxuXG5hLnRleHQtZGFuZ2VyOmhvdmVyLCBhLnRleHQtZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNhNzFkMmEgIWltcG9ydGFudDsgfVxuXG4udGV4dC1saWdodCB7XG4gIGNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LWxpZ2h0OmhvdmVyLCBhLnRleHQtbGlnaHQ6Zm9jdXMge1xuICBjb2xvcjogI2NiZDNkYSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWRhcmsge1xuICBjb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1kYXJrOmhvdmVyLCBhLnRleHQtZGFyazpmb2N1cyB7XG4gIGNvbG9yOiAjMTIxNDE2ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYm9keSB7XG4gIGNvbG9yOiAjMjEyNTI5ICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogIzZjNzU3ZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXdoaXRlLTUwIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXJlc2V0IHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLmRpc3BsYXktMSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiA1LjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLmRpc3BsYXktMyB7XG4gIGZvbnQtc2l6ZTogNC41cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5kaXNwbGF5LTQge1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5saXN0LWlubGluZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1pbmxpbmUtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICM2Yzc1N2Q7IH1cbiAgLmJsb2NrcXVvdGUtZm9vdGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IH1cblxuLmltZy1mbHVpZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjNmM3NTdkOyB9XG5cbmNvZGUge1xuICBmb250LXNpemU6IDg3LjUlO1xuICBjb2xvcjogI2U4M2U4YztcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gIGEgPiBjb2RlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuICBmb250LXNpemU6IDg3LjUlO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtOyB9XG4gIGtiZCBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODcuNSU7XG4gIGNvbG9yOiAjMjEyNTI5OyB9XG4gIHByZSBjb2RlIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsOyB9XG5cbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6IDM0MHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYTpub3QoLmJ0bikge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRiNWJkO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgQHBhZ2Uge1xuICAgIHNpemU6IGEzOyB9XG4gIGJvZHkge1xuICAgIG1pbi13aWR0aDogOTkycHggIWltcG9ydGFudDsgfVxuICAuY29udGFpbmVyIHtcbiAgICBtaW4td2lkdGg6IDk5MnB4ICFpbXBvcnRhbnQ7IH1cbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYmFkZ2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgLnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7IH1cbiAgICAudGFibGUgdGQsXG4gICAgLnRhYmxlIHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuICAudGFibGUtYm9yZGVyZWQgdGgsXG4gIC50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNiAhaW1wb3J0YW50OyB9XG4gIC50YWJsZS1kYXJrIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC50YWJsZS1kYXJrIHRoLFxuICAgIC50YWJsZS1kYXJrIHRkLFxuICAgIC50YWJsZS1kYXJrIHRoZWFkIHRoLFxuICAgIC50YWJsZS1kYXJrIHRib2R5ICsgdGJvZHkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2OyB9XG4gIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGVlMmU2OyB9IH1cblxuOnJvb3Qge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbmJvZHkge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGZvbnQtZmFtaWx5OiAnQ2hpY2FnbycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9keSB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgYm9keS5jcnQgLnNjcmVlbjo6YWZ0ZXIsXG4gIGJvZHkuY3J0IC5zY3JlZW46OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgYm9keS5zaG93LWhpZGRlbi1maWxlcyAuZmlsZS5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgYm9keS5tZWRpYS1wbGF5aW5nIC5uYXZiYXIgLmRlZmF1bHQtbmF2IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgYm9keS5tZWRpYS1wbGF5aW5nIC5uYXZiYXIgLm1lZGlhLW5hdiB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIGJvZHkubWVkaWEtcGxheWluZyAuc2NyZWVuIHtcbiAgICBoZWlnaHQ6IDM1MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBib2R5Lm1lZGlhLXBsYXlpbmcgLnNjcmVlbiB7XG4gICAgICAgIGhlaWdodDogNjAwcHg7IH0gfVxuICBib2R5LmxvYWRpbmcgKixcbiAgYm9keS5sb2FkaW5nICo6aG92ZXIge1xuICAgIGN1cnNvcjogdXJsKGltZy9sb2FkZXIucG5nKSwgd2FpdCAhaW1wb3J0YW50OyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6aG92ZXIsIGEuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5iaW9zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEwMTAxMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5iaW9zIHAge1xuICAgIG1hcmdpbjogMDsgfVxuXG4ubG9naW4ge1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChpbWcvYmcucG5nKSAwIDAgcmVwZWF0O1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogODtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuICAubG9naW4ubG9hZGVkIC5sb2dpbi1kaWFsb2cge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmxvZ2luIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAubG9naW4gLmxvZ2luLWRpYWxvZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICNmZmYsIDAgMCAwIDRweCAjMDAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogNTAwcHg7IH1cbiAgLmxvZ2luIC5sb2dpbi1kaWFsb2ctY29udGVudCB7XG4gICAgd2lkdGg6IDI2MHB4OyB9XG4gIC5sb2dpbiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxvZ2luIC5zdWJtaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYsIDAgMCAwIDVweCAjMDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aWR0aDogMTIwcHg7IH1cbiAgICAubG9naW4gLnN1Ym1pdDpob3ZlciwgLmxvZ2luIC5zdWJtaXQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAubG9naW4gLmhpbnQgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5Aa2V5ZnJhbWVzIGZsaWNrZXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMC4xMTc0OyB9XG4gIDUlIHtcbiAgICBvcGFjaXR5OiAwLjI5MTY4OyB9XG4gIDEwJSB7XG4gICAgb3BhY2l0eTogMC4xODY0MjsgfVxuICAxNSUge1xuICAgIG9wYWNpdHk6IDAuODU0NjsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDAuNTM3NTc7IH1cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwLjQzMTQ5OyB9XG4gIDMwJSB7XG4gICAgb3BhY2l0eTogMC45MzAyOTsgfVxuICAzNSUge1xuICAgIG9wYWNpdHk6IDAuODQ0MjI7IH1cbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAwLjkxNjQ7IH1cbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAwLjI2MjM5OyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yMjE0OTsgfVxuICA1NSUge1xuICAgIG9wYWNpdHk6IDAuMjQyNjI7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAwLjIyMzUzOyB9XG4gIDY1JSB7XG4gICAgb3BhY2l0eTogMC43NDk1NDsgfVxuICA3MCUge1xuICAgIG9wYWNpdHk6IDAuNzM2NTE7IH1cbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwLjA3MzA1OyB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMC4xMDYzOyB9XG4gIDg1JSB7XG4gICAgb3BhY2l0eTogMC41OTg5NTsgfVxuICA5MCUge1xuICAgIG9wYWNpdHk6IDAuMzQ5NTc7IH1cbiAgOTUlIHtcbiAgICBvcGFjaXR5OiAwLjMxNDU2OyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuMTQ2OyB9IH1cblxuLnZpZGVvLWNvbnRhaW5lciB7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi52aWRlbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGhlaWdodDogMTIwJTtcbiAgd2lkdGg6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnZpZGVvIHtcbiAgICAgIGhlaWdodDogMTUwJTtcbiAgICAgIHdpZHRoOiAxNTAlOyB9IH1cblxuLnNjcmVlbiB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKGltZy9iZy5wbmcpIDAgMCByZXBlYXQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNjI1cmVtO1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDNzIGVhc2U7XG4gIHotaW5kZXg6IDI7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1cHgpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zY3JlZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgICB3aWR0aDogODAwcHg7IH0gfVxuICAuc2NyZWVuOjphZnRlciB7XG4gICAgYW5pbWF0aW9uOiBmbGlja2VyIDAuMTVzIGluZmluaXRlO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4LCAxNiwgMTYsIDAuMDgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnNjcmVlbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoMTgsIDE2LCAxNiwgMCkgNTAlLCByZ2JhKDAsIDAsIDAsIDAuMjUpIDUwJSksIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyNTUsIDAsIDAsIDAuMDYpLCByZ2JhKDAsIDI1NSwgMCwgMC4wMiksIHJnYmEoMCwgMCwgMjU1LCAwLjA2KSk7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDJweCwgM3B4IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLm5hdmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogNTsgfVxuICAubmF2YmFyIC5sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm5hdmJhciAucmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm5hdmJhciAuZGVmYXVsdC1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm5hdmJhciAubWVkaWEtbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5uYXZiYXIgLml0ZW0uc3VibWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm5hdmJhciAuaXRlbS5zdWJtZW51LmFjdGl2ZSAuZHJvcCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5uYXZiYXIgLml0ZW0uc3VibWVudS5hY3RpdmUgLmxvZ28ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgICAgLm5hdmJhciAuaXRlbS5zdWJtZW51LmFjdGl2ZSAubG9nbzpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybChpbWcvYXBwbGUucG5nKSA1MCUgMTAwJS8xNnB4IGF1dG8gbm8tcmVwZWF0OyB9XG4gICAgLm5hdmJhciAuaXRlbS5zdWJtZW51LmFjdGl2ZSBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5uYXZiYXIgLml0ZW0gLmxvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgd2lkdGg6IDM4cHg7IH1cbiAgICAubmF2YmFyIC5pdGVtIC5sb2dvOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybChpbWcvYXBwbGUucG5nKSA1MCUgMC8xNnB4IGF1dG8gbm8tcmVwZWF0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDsgfVxuICAgIC5uYXZiYXIgLml0ZW0gLmxvZ286YWN0aXZlLCAubmF2YmFyIC5pdGVtIC5sb2dvLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAubmF2YmFyIC5pdGVtIC5sb2dvOmFjdGl2ZTpiZWZvcmUsIC5uYXZiYXIgLml0ZW0gLmxvZ28uYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAgdXJsKGltZy9hcHBsZS5wbmcpIDUwJSAxMDAlLzE2cHggYXV0byBuby1yZXBlYXQ7IH1cbiAgLm5hdmJhciAuaXRlbSBidXR0b24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogN3B4IDVweDtcbiAgICBmb250LWZhbWlseTogJ0NoaWNhZ28nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5uYXZiYXIgLml0ZW0gYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogN3B4IDEwcHg7IH0gfVxuICAgIC5uYXZiYXIgLml0ZW0gYnV0dG9uOmFjdGl2ZSwgLm5hdmJhciAuaXRlbSBidXR0b24uYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAubmF2YmFyIC5pdGVtID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5hdmJhciAuaXRlbSA+IHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiAzcHggMTBweDsgfSB9XG4gIC5uYXZiYXIgLml0ZW0gLmRyb3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxNjBweDsgfVxuICAgIC5uYXZiYXIgLml0ZW0gLmRyb3AgPiBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogNHB4IDEwcHg7IH1cbiAgICAgIC5uYXZiYXIgLml0ZW0gLmRyb3AgPiBsaSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5uYXZiYXIgLml0ZW0gLmRyb3AgPiBsaSBhLmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogLjQ7IH1cbiAgICAgICAgLm5hdmJhciAuaXRlbSAuZHJvcCA+IGxpIGEuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5uYXZiYXIgLml0ZW0gLmRyb3AgPiBsaSBhLmludmVydCAub2ZmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLm5hdmJhciAuaXRlbSAuZHJvcCA+IGxpIGEuaW52ZXJ0IC5vbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubmF2YmFyIC5pdGVtIC5kcm9wID4gbGkgYSAub2ZmIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5uYXZiYXIgLml0ZW0gLmRyb3AgPiBsaSBhIC5vbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5hdmJhciAuaXRlbSAudGltZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5uYXZiYXIgLml0ZW0gLnRpbWUgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5uYXZiYXIgLml0ZW0gLnRpbWUgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuLmZpbmRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBsZWZ0OiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmVzaXplOiBib3RoO1xuICB0b3A6IDUwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMjUwcHg7XG4gIHdpZHRoOiAzMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmluZGVyIHtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICB3aWR0aDogNDIwcHg7IH0gfVxuICAuZmluZGVyLmdrdGZvbGRlciB7XG4gICAgbGVmdDogMzBweDtcbiAgICB0b3A6IDYwcHg7IH1cbiAgLmZpbmRlci5kaWV0eWVlenVzZm9sZGVyIHtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIHRvcDogNzBweDsgfVxuICAuZmluZGVyLmZkbCB7XG4gICAgbGVmdDogNTBweDtcbiAgICB0b3A6IDgwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IDI3MHB4O1xuICAgIHdpZHRoOiAyODBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZpbmRlci5mZGwge1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICB3aWR0aDogMzIwcHg7IH0gfVxuICAgIC5maW5kZXIuZmRsIC5ib2R5IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZmluZGVyLmZkbCB2aWRlbyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZmluZGVyLnJlYWRtZSB7XG4gICAgbGVmdDogMzBweDtcbiAgICB0b3A6IDYwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHdpZHRoOiAzMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZpbmRlci5yZWFkbWUge1xuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB3aWR0aDogMzIwcHg7IH0gfVxuICAgIC5maW5kZXIucmVhZG1lIC5ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgIC5maW5kZXIucmVhZG1lIC5ib2R5IHAge1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC5maW5kZXIuZWFydGgge1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgdG9wOiA3MHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICB3aWR0aDogMzIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5maW5kZXIuZWFydGgge1xuICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB3aWR0aDogMzIwcHg7IH0gfVxuICAgIC5maW5kZXIuZWFydGggLmJvZHkge1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgLmZpbmRlci5lYXJ0aCAuYm9keSBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAuZmluZGVyLmZvY3VzIHtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5maW5kZXIgLmhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5maW5kZXIgLmhlYWRlcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoaW1nL2hlYWRlci1iZy5wbmcpIDAgNTAlIHJlcGVhdC14O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDJweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmZpbmRlciAuaGVhZGVyIC50aXRsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBmb250LWZhbWlseTogJ0NoaWNhZ28nLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTsgfVxuICAgIC5maW5kZXIgLmhlYWRlciAuY2xvc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udDogMC8wIGE7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGxlZnQ6IDhweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiAxNnB4OyB9XG4gICAgICAuZmluZGVyIC5oZWFkZXIgLmNsb3NlOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBoZWlnaHQ6IDExcHg7XG4gICAgICAgIHdpZHRoOiAxMXB4OyB9XG4gICAgICAuZmluZGVyIC5oZWFkZXIgLmNsb3NlOmFjdGl2ZTpiZWZvcmUsIC5maW5kZXIgLmhlYWRlciAuY2xvc2UuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLmZpbmRlciAuYm9keSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLmZpbmRlciAuYm9keSBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmZpbmRlciAuYm9keSBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0gfVxuICAgICAgLmZpbmRlciAuYm9keSBhOmhvdmVyLCAuZmluZGVyIC5ib2R5IGEuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZmluZGVyIC5ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL3Njcm9sbGJhci1iZy5wbmcpIDAgMCByZXBlYXQ7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7IH1cbiAgICAuZmluZGVyIC5ib2R5Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgd2lkdGg6IDE0cHg7IH1cbiAgICAuZmluZGVyIC5ib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgIHdpZHRoOiAxMHB4OyB9XG5cbi5maWxlIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMTBweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTEwcHg7IH1cbiAgLmZpbGUuZm9sZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICAgIC5maWxlLmZvbGRlcjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy9mb2xkZXIucG5nKSAwIDAvMzZweCA1OHB4IG5vLXJlcGVhdDtcbiAgICAgIGJvdHRvbTogMjVweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGhlaWdodDogMjlweDtcbiAgICAgIHdpZHRoOiAzNnB4OyB9XG4gICAgLmZpbGUuZm9sZGVyOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy9mb2xkZXIucG5nKSAwIDEwMCUvMzZweCA1OHB4IG5vLXJlcGVhdDsgfVxuICAgIC5maWxlLmZvbGRlcjphY3RpdmUgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmZpbGUudGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7IH1cbiAgICAuZmlsZS50ZXh0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoaW1nL3RleHQucG5nKSAwIDAvMjhweCA3MnB4IG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGhlaWdodDogMzZweDtcbiAgICAgIHdpZHRoOiAyOHB4OyB9XG4gICAgLmZpbGUudGV4dC5hY3RpdmU6YmVmb3JlLCAuZmlsZS50ZXh0LnBsYXlpbmc6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChpbWcvdGV4dC5wbmcpIDAgMTAwJS8yOHB4IDcycHggbm8tcmVwZWF0OyB9XG4gICAgLmZpbGUudGV4dC5hY3RpdmUgc3BhbiwgLmZpbGUudGV4dC5wbGF5aW5nIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5maWxlLmltYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICAgIC5maWxlLmltYWdlOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoaW1nL2ltYWdlLnBuZykgMCAwLzI4cHggNzJweCBuby1yZXBlYXQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICB3aWR0aDogMjhweDsgfVxuICAgIC5maWxlLmltYWdlLmFjdGl2ZTpiZWZvcmUsIC5maWxlLmltYWdlLnBsYXlpbmc6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChpbWcvaW1hZ2UucG5nKSAwIDEwMCUvMjhweCA3MnB4IG5vLXJlcGVhdDsgfVxuICAgIC5maWxlLmltYWdlLmFjdGl2ZSBzcGFuLCAuZmlsZS5pbWFnZS5wbGF5aW5nIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5maWxlLnNvdW5kIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICAgIC5maWxlLnNvdW5kOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoaW1nL3NvdW5kLnBuZykgMCAwLzI4cHggNzJweCBuby1yZXBlYXQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICB3aWR0aDogMjhweDsgfVxuICAgIC5maWxlLnNvdW5kLmFjdGl2ZTpiZWZvcmUsIC5maWxlLnNvdW5kLnBsYXlpbmc6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChpbWcvc291bmQucG5nKSAwIDEwMCUvMjhweCA3MnB4IG5vLXJlcGVhdDsgfVxuICAgIC5maWxlLnNvdW5kLmFjdGl2ZSBzcGFuLCAuZmlsZS5zb3VuZC5wbGF5aW5nIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5maWxlLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAuODsgfVxuICAuZmlsZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAuZmlsZSBzcGFuIGVtIHtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uZGlhbG9nIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICNmZmYsIDAgMCAwIDRweCAjMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA5MCU7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHotaW5kZXg6IDQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDUwMHB4OyB9XG4gIC5kaWFsb2cuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mb2xkZXIxIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdG9wOiAzMHB4OyB9XG5cbi5mb2xkZXIyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdG9wOiAxMDBweDsgfVxuXG4uZm9sZGVyMyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE0MHB4O1xuICB0b3A6IDEzMHB4OyB9XG5cbi5mb2xkZXI0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdG9wOiAxODBweDsgfVxuXG4uZWFydGh0eHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNDBweDtcbiAgdG9wOiA2MHB4OyB9XG5cbi5saXphcmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNDBweDtcbiAgdG9wOiAyMTBweDsgfVxuXG4uY3Vyc29yIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy9sb2FkZXIucG5nKSAwIDAvMTRweCAyMXB4IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMTtcbiAgaGVpZ2h0OiAyMXB4O1xuICB3aWR0aDogMTRweDsgfVxuXG4ucHJpbnQtdmlzdWFsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuc2NyZWVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICoge1xuICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdCAhaW1wb3J0YW50O1xuICAgIGNvbG9yLWFkanVzdDogZXhhY3QgIWltcG9ydGFudDsgfVxuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIGJvZHkgLnByaW50LXZpc3VhbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMTAwcHggMCAwO1xuICAgICAgd2lkdGg6IDEwMHZ3OyB9IH1cbiIsIi52aWRlby13cmFwcGVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHNpemUoMTAwJSwgMCk7XG5cbiAgaWZyYW1lLCBvYmplY3R7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSwgMTAwJSk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuLy8gU2l6ZVxuQG1peGluIHNpemUoJHdpZHRoIDogYXV0bywgJGhlaWdodCA6IGF1dG8pIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbn1cbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcbiAgICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XG59XG5cbkBtaXhpbiBjaXJjbGUoJHNpemUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRzaXplKTtcbiAgICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XG59XG5cbi8vIFNwcml0ZVxuQG1peGluIHNwcml0ZSgkbGVmdCA6IDAsICR0b3AgOiAwICwgJGNvbG9yIDogdHJhbnNwYXJlbnQpIHtcblx0YmFja2dyb3VuZDogJGNvbG9yIHVybChpbWcvc3ByaXRlLnBuZykgJGxlZnQgJHRvcCBuby1yZXBlYXQ7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZCgkcGF0aCwgJHNpemU6IGF1dG8gYXV0bywgJHBvczogbGVmdCB0b3AsICRyZXBlYXQ6IG5vLXJlcGVhdCkge1xuICAkYXQxeF9wYXRoOiBcIiN7JHBhdGh9XCI7XG4gICRhdDJ4X3BhdGg6IHN0ci1yZXBsYWNlKCN7JHBhdGh9LCAnLnBuZycsICdAMngucG5nJyk7XG4gICRhdDJ4X3BhdGg6IHN0ci1yZXBsYWNlKCN7JGF0MnhfcGF0aH0sICcuanBnJywgJ0AyeC5qcGcnKTtcbiAgJGF0MnhfcGF0aDogc3RyLXJlcGxhY2UoI3skYXQyeF9wYXRofSwgJy5qZXBnJywgJ0AyeC5qZXBnJyk7XG4gIC8vICRhdDN4X3BhdGg6IHN0ci1yZXBsYWNlKCN7JHBhdGh9LCAnLicsICdAM3guJyk7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiI3skYXQxeF9wYXRofVwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvcztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6ICRyZXBlYXQ7XG5cbiAgLyogQDJ4IEltYWdlcyAoUGl4ZWwgUmF0aW8gb2YgMS4yNSspICovXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDUvNCksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjI1KSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMS4yNWRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRhdDJ4X3BhdGh9XCIpO1xuICB9XG5cbiAgLyogQDN4IEltYWdlcyAoUGl4ZWwgUmF0aW8gb2YgMi4yNSspICovXG4gIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDkvNCksXG4gIC8vIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjI1KSxcbiAgLy8gb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjI1KSxcbiAgLy8gb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMi4yNWRwcHgpIHtcbiAgLy8gICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRhdDN4X3BhdGh9XCIpO1xuICAvLyB9XG59XG5cbi8vIEZvbnQgU3RhY2tzXG5AbWl4aW4gZm9udCgkd2VpZ2h0OiBudWxsLCAkc2l6ZTogbnVsbCwgJGxpbmVIZWlnaHQ6IG51bGwpIHtcbiAgICBAaWYoJHNpemUpIHsgZm9udC1zaXplOiAkc2l6ZTsgfVxuICAgIEBpZigkd2VpZ2h0KSB7IGZvbnQtd2VpZ2h0OiAkd2VpZ2h0OyB9XG4gICAgQGlmKCRsaW5lSGVpZ2h0KSB7IGxpbmUtaGVpZ2h0OiAkbGluZUhlaWdodDsgfVxufVxuQG1peGluIGZvbnQtY2hpY2Fnbygkd2VpZ2h0OiBudWxsLCAkc2l6ZTogbnVsbCwgJGxpbmVIZWlnaHQ6IG51bGwpIHtcbiAgICBmb250LWZhbWlseTogJ0NoaWNhZ28nLCBzYW5zLXNlcmlmO1xuICAgIEBpZigkc2l6ZSkgeyBmb250LXNpemU6ICRzaXplOyB9XG4gICAgQGlmKCR3ZWlnaHQpIHsgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7IH1cbiAgICBAaWYoJGxpbmVIZWlnaHQpIHsgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0OyB9XG59XG5cbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIoJGF4aXM6IFwiYm90aFwiKXtcblx0cG9zaXRpb246YWJzb2x1dGU7XG4gIFx0QGlmICRheGlzID09IFwieVwiIHtcbiAgICBcdHRvcDogNTAlO1xuICAgIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBcdH1cbiAgXHRAaWYgJGF4aXMgPT0gXCJ4XCIge1xuICAgIFx0bGVmdDogNTAlO1xuICAgIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBcdH1cbiAgXHRAaWYgJGF4aXMgPT0gXCJib3RoXCIge1xuICAgIFx0dG9wOjUwJTtcbiAgICBcdGxlZnQ6NTAlO1xuICAgIFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdH1cbn1cblxuLy9sZXR0ZXItc3BhY2luZ1xuQG1peGluIGxldHRlci1zcGFjaW5nKCRmb250LXNpemUsICRsZXR0ZXJzcGFjaW5nKSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICgoJGZvbnQtc2l6ZSAqICRsZXR0ZXJzcGFjaW5nKSAvMTAwMCkgKyBweDtcbn1cblxuQG1peGluIGJ1dHRvbi1yZXNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLy8gSW5wdXQgcGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGdyYXlMaWdodCkge1xuICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTArICovXG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICA6LW1vei1wbGFjZWhvbGRlciB7IC8qIE1vemlsbGEgRmlyZWZveCA0IHRvIDE4ICovXG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICA6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBNb3ppbGxhIEZpcmVmb3ggMTkrICovXG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBXZWJLaXQgYnJvd3NlcnMgKi9cbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIDo6cGxhY2Vob2xkZXIgeyAvKiBSZWNlbnQgYnJvd3NlcnMgKi9cbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBzdmdpY29uKCRpbWFnZSwgJHc6IDAsICRoOiAwKXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaWYgJGltYWdlID09IG51bGx7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRpbWFnZX0pO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3ICRoO1xuICAgIEBpbmNsdWRlIHNpemUoJHcsICRoKTtcbn1cbiIsIi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC8vIFNpbmdsZSBjb250YWluZXIgY2xhc3Mgd2l0aCBicmVha3BvaW50IG1heC13aWR0aHNcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCk7XG4gIH1cblxuICAvLyAxMDAlIHdpZGUgY29udGFpbmVyIGF0IGFsbCBicmVha3BvaW50c1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBjb250YWluZXJzIHRoYXQgYXJlIDEwMCUgd2lkZSB1bnRpbCBhIGJyZWFrcG9pbnRcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRjb250YWluZXItbWF4LXdpZHRocyB7XG4gICAgLmNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICBAZXh0ZW5kIC5jb250YWluZXItZmx1aWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAgICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkd2lkdGggaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgKCRjb250YWluZXItbWF4LXdpZHRoID4gJHdpZHRoIG9yICRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBuZWdhdGl2ZSBtYXJnaW4gZnJvbSBkZWZhdWx0IC5yb3csIHRoZW4gdGhlIGhvcml6b250YWwgcGFkZGluZ1xuICAvLyBmcm9tIGFsbCBpbW1lZGlhdGUgY2hpbGRyZW4gY29sdW1ucyAodG8gcHJldmVudCBydW5hd2F5IHN0eWxlIGluaGVyaXRhbmNlKS5cbiAgLm5vLWd1dHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gLmNvbCxcbiAgICA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFJlc2V0IGVhcmxpZXIgZ3JpZCB0aWVyc1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlcm9mIGNvbHVtbnMuIFN1cHBvcnRzIHdyYXBwaW5nIHRvIG5ldyBsaW5lcywgYnV0IGRvZXMgbm90IGRvIGEgTWFzb25yeVxuLy8gc3R5bGUgZ3JpZC5cbkBtaXhpbiByb3ctY29scygkY291bnQpIHtcbiAgJiA+ICoge1xuICAgIGZsZXg6IDAgMCAxMDAlIC8gJGNvdW50O1xuICAgIG1heC13aWR0aDogMTAwJSAvICRjb3VudDtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHJvdy1jb2xzKCRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgY29tbW9uIGBkaXNwbGF5YCB2YWx1ZXNcbi8vXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgICAgLmQjeyRpbmZpeH0tI3skdmFsdWV9IHsgZGlzcGxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gVXRpbGl0aWVzIGZvciB0b2dnbGluZyBgZGlzcGxheWAgaW4gcHJpbnRcbi8vXG5cbkBtZWRpYSBwcmludCB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkZGlzcGxheXMge1xuICAgIC5kLXByaW50LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsb2F0I3skaW5maXh9LWxlZnQgIHsgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1yaWdodCB7IGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LW5vbmUgIHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5AZWFjaCAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8gaW4gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvcyB7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAxKTtcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXk6IG50aCgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8sIDIpO1xuXG4gIC5lbWJlZC1yZXNwb25zaXZlLSN7JGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXh9YnkjeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15fSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwZXJjZW50YWdlKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15IC8gJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLXgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBUZXh0XG4vL1xuXG4udGV4dC1tb25vc3BhY2UgeyBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhaW1wb3J0YW50OyB9XG5cbi8vIEFsaWdubWVudFxuXG4udGV4dC1qdXN0aWZ5ICB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuLnRleHQtd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoKTsgfVxuXG4vLyBSZXNwb25zaXZlIGFsaWdubWVudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAudGV4dCN7JGluZml4fS1sZWZ0ICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1yaWdodCAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnRleHQjeyRpbmZpeH0tY2VudGVyIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuXG4udGV4dC1sb3dlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4vLyBXZWlnaHQgYW5kIGl0YWxpY3NcblxuLmZvbnQtd2VpZ2h0LWxpZ2h0ICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1saWdodGVyIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LXdlaWdodC1ub3JtYWwgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGRlciAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGRlciAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbi50ZXh0LXdoaXRlIHsgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlLCB0cnVlKTtcbn1cblxuLnRleHQtYm9keSB7IGNvbG9yOiAkYm9keS1jb2xvciAhaW1wb3J0YW50OyB9XG4udGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJsYWNrLTUwIHsgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSkgIWltcG9ydGFudDsgfVxuLnRleHQtd2hpdGUtNTAgeyBjb2xvcjogcmdiYSgkd2hpdGUsIC41KSAhaW1wb3J0YW50OyB9XG5cbi8vIE1pc2NcblxuLnRleHQtaGlkZSB7XG4gIEBpbmNsdWRlIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IHRydWUpO1xufVxuXG4udGV4dC1kZWNvcmF0aW9uLW5vbmUgeyB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgLy8gSUUgJiA8IEVkZ2UgMThcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG4vLyBSZXNldFxuXG4udGV4dC1yZXNldCB7IGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IsICRpZ25vcmUtd2FybmluZzogZmFsc2UpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtZW1waGFzaXMtdmFyaWFudCgpYFwiLCBcInY0LjQuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSg5MCUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGJsb2NrcXVvdGUtZm9udC1zaXplKTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemUpO1xuICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkKCkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIgLyAyO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoKSB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG4iLCIvLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9tYWluLmNzcy9ibG9iL21hc3Rlci9zcmMvX3ByaW50LmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwczovL3d3dy5waHBpZWQuY29tL2RlbGF5LWxvYWRpbmcteW91ci1wcmludC1jc3MvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYgJGVuYWJsZS1wcmludC1zdHlsZXMge1xuICBAbWVkaWEgcHJpbnQge1xuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCBvdXQgYGNvbG9yYCBhbmQgYGJhY2tncm91bmRgXG4gICAgICAvL2NvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICY6bm90KC5idG4pIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy99XG5cbiAgICBwcmUge1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ3JheS01MDA7IC8vIEJvb3RzdHJhcCBjdXN0b20gY29kZTsgdXNpbmcgYCRib3JkZXItd2lkdGhgIGluc3RlYWQgb2YgMXB4XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmludGluZyBUYWJsZXM6XG4gICAgLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTgwODE1MTUwOTM0L2h0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgIC8vXG5cbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2s7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgdGQsXG4gICAgICB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktMzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWRhcmsge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlIC50aGVhZC1kYXJrIHRoIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCI6cm9vdCB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICBAaW5jbHVkZSByZW0tYmFzZWxpbmU7XG59XG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIG91dGxpbmU6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuYm9keSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgQGluY2x1ZGUgZm9udC1jaGljYWdvKDQwMCwgcmVtKDE0cHgpLCByZW0oMjBweCkpO1xuICBAaW5jbHVkZSBzaXplKDEwMHZ3LCAxMDB2aCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICYuY3J0e1xuICAgIC5zY3JlZW46OmFmdGVyLFxuICAgIC5zY3JlZW46OmJlZm9yZXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAmLnNob3ctaGlkZGVuLWZpbGVze1xuICAgIC5maWxlLmhpZGRlbntcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gICYubWVkaWEtcGxheWluZ3tcbiAgICAubmF2YmFye1xuICAgICAgLmRlZmF1bHQtbmF2e1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubWVkaWEtbmF2e1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5zY3JlZW57XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5sb2FkaW5ne1xuICAgICosXG4gICAgKjpob3ZlcntcbiAgICAgIGN1cnNvcjogdXJsKGltZy9sb2FkZXIucG5nKSwgd2FpdCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuYXtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmLmFjdGl2ZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG4uYmlvc3tcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEwMTAxMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5O1xuICBAaW5jbHVkZSBzaXplKDEwMCUsIDEwMCUpO1xuXG4gIHB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4ubG9naW57XG4gIGJhY2tncm91bmQ6I2ZmZiB1cmwoaW1nL2JnLnBuZykgMCAwIHJlcGVhdDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDg7XG4gIEBpbmNsdWRlIHNpemUoMTAwJSwgMTAwJSk7XG5cbiAgJi5sb2FkZWR7XG4gICAgLmxvZ2luLWRpYWxvZ3tcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgcHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmxvZ2luLWRpYWxvZ3tcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2ZmZiwgMCAwIDAgNHB4ICMwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgICBAaW5jbHVkZSBzaXplKDUwMHB4LCBhdXRvKTtcbiAgfVxuICAubG9naW4tZGlhbG9nLWNvbnRlbnR7XG4gICAgd2lkdGg6IDI2MHB4O1xuICB9XG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXXtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHVzZXItc2VsZWN0OiB0ZXh0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zdWJtaXR7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbSgzcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmLCAwIDAgMCA1cHggIzAwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDEyMHB4O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgfVxuICAuaGludHtcbiAgICBzcGFue1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiRlYXNlLW91dC1xdWludDpjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2UtaW4tcXVpbnQ6Y3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRzY3JlZW4tYmFja2dyb3VuZDojMTIxMDEwO1xuXG5Aa2V5ZnJhbWVzIGZsaWNrZXJ7XG4gICRzdGVwczoyMDtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkc3RlcHN7XG4gICAgI3twZXJjZW50YWdlKCRpKigxLyRzdGVwcykpfXtcbiAgICAgIG9wYWNpdHk6cmFuZG9tKCk7XG4gICAgfVxuICB9XG59XG4udmlkZW8tY29udGFpbmVye1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgQGluY2x1ZGUgc2l6ZSgxMDAlLCAxMDAlKTtcbn1cbi52aWRlb3tcbiAgZGlzcGxheTogbm9uZTtcbiAgLy9maWx0ZXI6IGh1ZS1yb3RhdGUoOTBkZWcpO1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIEBpbmNsdWRlIHNpemUoYXV0bywgMTIwJSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgQGluY2x1ZGUgc2l6ZSgxNTAlLCAxNTAlKTtcbiAgfVxufVxuLnNjcmVlbntcbiAgYmFja2dyb3VuZDojZmZmIHVybChpbWcvYmcucG5nKSAwIDAgcmVwZWF0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiByZW0oMTBweCk7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIG92ZXJmbG93OmhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDNzIGVhc2U7XG4gIHotaW5kZXg6IDI7XG4gIEBpbmNsdWRlIHNpemUoY2FsYygxMDAlIC0gNXB4KSwgY2FsYygxMDAlIC0gNDBweCkpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMDBweCByZ2JhKCMwMDAsIC43KTtcbiAgICBAaW5jbHVkZSBzaXplKDgwMHB4LCA2MDBweCk7XG4gIH1cblxuICAmOjphZnRlcntcbiAgICBhbmltYXRpb246ZmxpY2tlciAwLjE1cyBpbmZpbml0ZTtcbiAgICBjb250ZW50OlwiIFwiO1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgYm90dG9tOjA7XG4gICAgcmlnaHQ6MDtcbiAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50aXplKCRzY3JlZW4tYmFja2dyb3VuZCwwLjkyKTtcbiAgICBvcGFjaXR5OjA7XG4gICAgei1pbmRleDoxMDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICB9XG4gICY6OmJlZm9yZXtcbiAgICBjb250ZW50OlwiIFwiO1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICBsZWZ0OjA7XG4gICAgYm90dG9tOjA7XG4gICAgcmlnaHQ6MDtcbiAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudGl6ZSgkc2NyZWVuLWJhY2tncm91bmQsMSkgNTAlLCB0cmFuc3BhcmVudGl6ZShkYXJrZW4oJHNjcmVlbi1iYWNrZ3JvdW5kLDEwKSwwLjc1KSA1MCUpLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsdHJhbnNwYXJlbnRpemUoI2ZmMDAwMCwwLjk0KSx0cmFuc3BhcmVudGl6ZSgjMDBmZjAwLDAuOTgpLHRyYW5zcGFyZW50aXplKCMwMDAwZmYsMC45NCkpO1xuICAgIHotaW5kZXg6MTA7XG4gICAgYmFja2dyb3VuZC1zaXplOjEwMCUgMnB4LCAzcHggMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICB9XG59XG4ubmF2YmFye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG5cbiAgLmxlZnR7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG4gIC5yaWdodHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5kZWZhdWx0LW5hdntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tZWRpYS1uYXZ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuaXRlbXtcbiAgICAmLnN1Ym1lbnV7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICYuYWN0aXZle1xuICAgICAgICAuZHJvcHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgICAgLmxvZ297XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAgdXJsKGltZy9hcHBsZS5wbmcpIDUwJSAxMDAlIC8xNnB4IGF1dG8gbm8tcmVwZWF0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBidXR0b257XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubG9nb3tcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMzhweCwgMjhweCk7XG5cbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybChpbWcvYXBwbGUucG5nKSA1MCUgMCAvMTZweCBhdXRvIG5vLXJlcGVhdDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDIwcHgsIDIwcHgpO1xuICAgICAgfVxuICAgICAgJjphY3RpdmUsXG4gICAgICAmLmFjdGl2ZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMCB1cmwoaW1nL2FwcGxlLnBuZykgNTAlIDEwMCUgLzE2cHggYXV0byBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9ue1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDdweCA1cHg7XG4gICAgICBAaW5jbHVkZSBmb250LWNoaWNhZ28oNDAwLCByZW0oMTRweCksIHJlbSgxNHB4KSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICBwYWRkaW5nOiA3cHggMTBweDtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlLFxuICAgICAgJi5hY3RpdmV7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgICAmPnNwYW57XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDNweCA1cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmRyb3B7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgd2lkdGg6IDE2MHB4O1xuXG4gICAgICAmPmxpe1xuICAgICAgICBhe1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuXG4gICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5kaXNhYmxlZHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC40O1xuXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5pbnZlcnR7XG4gICAgICAgICAgICAub2Zme1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm9ue1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLm9mZntcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgICAgLm9ue1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gICAgLnRpbWV7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICBzcGFue1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmZpbmRlcntcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogcmVtKDJweCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByZXNpemU6IGJvdGg7XG4gIHRvcDogNTBweDtcbiAgei1pbmRleDogMTtcbiAgQGluY2x1ZGUgc2l6ZSgzMjBweCwgMjUwcHgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgIEBpbmNsdWRlIHNpemUoNDIwcHgsIDI1MHB4KTtcbiAgfVxuICAmLmdrdGZvbGRlcntcbiAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICB0b3A6IDYwcHg7XG4gIH1cbiAgJi5kaWV0eWVlenVzZm9sZGVye1xuICAgICAgbGVmdDogNDBweDtcbiAgICAgIHRvcDogNzBweDtcbiAgfVxuICAmLmZkbHtcbiAgICBsZWZ0OiA1MHB4O1xuICAgIHRvcDogODBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIEBpbmNsdWRlIHNpemUoMjgwcHgsIDI3MHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzMjBweCwgMzAwcHgpO1xuICAgIH1cbiAgICAuYm9keXtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIHZpZGVve1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICYucmVhZG1le1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgdG9wOiA2MHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgQGluY2x1ZGUgc2l6ZSgzMjBweCwgMzAwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCl7XG4gICAgICBAaW5jbHVkZSBzaXplKDMyMHB4LCA0NTBweCk7XG4gICAgfVxuICAgIC5ib2R5e1xuICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgcHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5lYXJ0aHtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIHRvcDogNzBweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIEBpbmNsdWRlIHNpemUoMzIwcHgsIDMwMHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpe1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzMjBweCwgNDUwcHgpO1xuICAgIH1cbiAgICAuYm9keXtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgIHB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZm9jdXN7XG4gICAgei1pbmRleDogMztcbiAgfVxuICAuaGVhZGVye1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKGltZy9oZWFkZXItYmcucG5nKSAwIDUwJSByZXBlYXQteDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGxlZnQ6IDJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAycHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLnRpdGxle1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gICAgICBAaW5jbHVkZSBmb250LWNoaWNhZ28oNDAwLCByZW0oMTJweCksIHJlbSgxOHB4KSk7XG4gICAgfVxuICAgIC5jbG9zZXtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1yZXNldDtcbiAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBsZWZ0OiA4cHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBAaW5jbHVkZSBzaXplKDE2cHgsIDE2cHgpO1xuXG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMXB4LCAxMXB4KTtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlLFxuICAgICAgJi5hY3RpdmV7XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJvZHl7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgYXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKXtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgICAgJjpob3ZlcixcbiAgICAgICYuYWN0aXZle1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1nL3Njcm9sbGJhci1iZy5wbmcpIDAgMCByZXBlYXQ7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFye1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgIH1cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgfVxuICB9XG59XG4uZmlsZXtcbiAgQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxMHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMTBweDtcblxuICAmLmZvbGRlcntcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAgICY6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy9mb2xkZXIucG5nKSAwIDAvMzZweCA1OHB4IG5vLXJlcGVhdDtcbiAgICAgIGJvdHRvbTogMjVweDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcigneCcpO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzNnB4LCAyOXB4KTtcbiAgICB9XG4gICAgJjphY3RpdmV7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy9mb2xkZXIucG5nKSAwIDEwMCUvMzZweCA1OHB4IG5vLXJlcGVhdDtcbiAgICAgIH1cbiAgICAgIHNwYW57XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRleHR7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChpbWcvdGV4dC5wbmcpIDAgMC8yOHB4IDcycHggbm8tcmVwZWF0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyKCd4Jyk7XG4gICAgICBAaW5jbHVkZSBzaXplKDI4cHgsIDM2cHgpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLnBsYXlpbmd7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy90ZXh0LnBuZykgMCAxMDAlLzI4cHggNzJweCBuby1yZXBlYXQ7XG4gICAgICB9XG4gICAgICBzcGFue1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5pbWFnZXtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAgICY6YmVmb3Jle1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy9pbWFnZS5wbmcpIDAgMC8yOHB4IDcycHggbm8tcmVwZWF0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyKCd4Jyk7XG4gICAgICBAaW5jbHVkZSBzaXplKDI4cHgsIDM2cHgpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLnBsYXlpbmd7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy9pbWFnZS5wbmcpIDAgMTAwJS8yOHB4IDcycHggbm8tcmVwZWF0O1xuICAgICAgfVxuICAgICAgc3BhbntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc291bmR7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChpbWcvc291bmQucG5nKSAwIDAvMjhweCA3MnB4IG5vLXJlcGVhdDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcigneCcpO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgyOHB4LCAzNnB4KTtcbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJi5wbGF5aW5ne1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChpbWcvc291bmQucG5nKSAwIDEwMCUvMjhweCA3MnB4IG5vLXJlcGVhdDtcbiAgICAgIH1cbiAgICAgIHNwYW57XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaGlkZGVue1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogLjg7XG4gIH1cblxuICBzcGFue1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAycHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgIGVte1xuICAgICAgZm9udC1zdHlsZTpub3JtYWw7XG4gICAgfVxuICB9XG59XG4uZGlhbG9ne1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2ZmZiwgMCAwIDAgNHB4ICMwMDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgbWluLWhlaWdodDogMTUwcHg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgei1pbmRleDogNDtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBAaW5jbHVkZSBzaXplKDUwMHB4LCBhdXRvKTtcblxuICAmLmFjdGl2ZXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4uZm9sZGVyMXtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdG9wOiAzMHB4O1xufVxuLmZvbGRlcjJ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMTAwcHg7XG59XG4uZm9sZGVyM3tcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTQwcHg7XG4gIHRvcDogMTMwcHg7XG59XG4uZm9sZGVyNHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdG9wOiAxODBweDtcbn1cbi5lYXJ0aHR4dHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTQwcHg7XG4gIHRvcDogNjBweDtcbn1cbi8vIC5na3Rme1xuLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgIHJpZ2h0OiAxNDBweDtcbi8vICAgdG9wOiAxNDBweDtcbi8vIH1cbi5saXphcmR7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE0MHB4O1xuICB0b3A6IDIxMHB4O1xufVxuLmN1cnNvcntcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGltZy9sb2FkZXIucG5nKSAwIDAvMTRweCAyMXB4IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMTtcbiAgQGluY2x1ZGUgc2l6ZSgxNHB4LCAyMXB4KTtcbn1cbi5wcmludC12aXN1YWx7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgcHJpbnR7XG4gIC5zY3JlZW57XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAqe1xuICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdCAhaW1wb3J0YW50O1xuICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgYm9keXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5wcmludC12aXN1YWx7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMTAwcHggMCAwO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgIH1cbiAgfVxufVxuIiwiJHJlbS1iYXNlbGluZTogMTZweCAhZGVmYXVsdDtcbiRyZW0tZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHJlbS1weC1vbmx5OiBmYWxzZSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHJlbS1zZXBhcmF0b3IoJGxpc3QsICRzZXBhcmF0b3I6IGZhbHNlKSB7XG4gIEBpZiAkc2VwYXJhdG9yID09IFwiY29tbWFcIiBvciAkc2VwYXJhdG9yID09IFwic3BhY2VcIiB7XG4gICAgQHJldHVybiBhcHBlbmQoJGxpc3QsIG51bGwsICRzZXBhcmF0b3IpO1xuICB9XG5cbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhcImxpc3Qtc2VwYXJhdG9yXCIpID09IHRydWUge1xuICAgIEByZXR1cm4gbGlzdC1zZXBhcmF0b3IoJGxpc3QpO1xuICB9XG5cbiAgLy8gbGlzdC1zZXBhcmF0b3IgcG9seWZpbGwgYnkgSHVnbyBHaXJhdWRlbCAoaHR0cHM6Ly9zYXNzLWNvbXBhdGliaWxpdHkuZ2l0aHViLmlvLyNsaXN0X3NlcGFyYXRvcl9mdW5jdGlvbilcbiAgJHRlc3QtbGlzdDogKCk7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAkdGVzdC1saXN0OiBhcHBlbmQoJHRlc3QtbGlzdCwgJGl0ZW0sIHNwYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHRlc3QtbGlzdCA9PSAkbGlzdCwgc3BhY2UsIGNvbW1hKTtcbn1cblxuQG1peGluIHJlbS1iYXNlbGluZSgkem9vbTogMTAwJSkge1xuICBmb250LXNpemU6ICR6b29tIC8gMTZweCAqICRyZW0tYmFzZWxpbmU7XG59XG5cbkBmdW5jdGlvbiByZW0tY29udmVydCgkdG8sICR2YWx1ZXMuLi4pIHtcbiAgJHJlc3VsdDogKCk7XG4gICRzZXBhcmF0b3I6IHJlbS1zZXBhcmF0b3IoJHZhbHVlcyk7XG5cbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgdW5pdCgkdmFsdWUpID09IFwicmVtXCIgYW5kICR0byA9PSBcInB4XCIge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSAvIDFyZW0gKiAkcmVtLWJhc2VsaW5lLCAkc2VwYXJhdG9yKTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCB1bml0KCR2YWx1ZSkgPT0gXCJweFwiIGFuZCAkdG8gPT0gXCJyZW1cIiB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlIC8gJHJlbS1iYXNlbGluZSAqIDFyZW0sICRzZXBhcmF0b3IpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IFwibGlzdFwiIHtcbiAgICAgICR2YWx1ZS1zZXBhcmF0b3I6IHJlbS1zZXBhcmF0b3IoJHZhbHVlKTtcbiAgICAgICR2YWx1ZTogcmVtLWNvbnZlcnQoJHRvLCAkdmFsdWUuLi4pO1xuICAgICAgJHZhbHVlOiByZW0tc2VwYXJhdG9yKCR2YWx1ZSwgJHZhbHVlLXNlcGFyYXRvcik7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYobGVuZ3RoKCRyZXN1bHQpID09IDEsIG50aCgkcmVzdWx0LCAxKSwgJHJlc3VsdCk7XG59XG5cbkBmdW5jdGlvbiByZW0oJHZhbHVlcy4uLikge1xuICBAaWYgJHJlbS1weC1vbmx5IHtcbiAgICBAcmV0dXJuIHJlbS1jb252ZXJ0KHB4LCAkdmFsdWVzLi4uKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiByZW0tY29udmVydChyZW0sICR2YWx1ZXMuLi4pO1xuICB9XG59XG5cbkBtaXhpbiByZW0oJHByb3BlcnRpZXMsICR2YWx1ZXMuLi4pIHtcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwibWFwXCIge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiBtYXAta2V5cygkcHJvcGVydGllcykge1xuICAgICAgQGluY2x1ZGUgcmVtKCRwcm9wZXJ0eSwgbWFwLWdldCgkcHJvcGVydGllcywgJHByb3BlcnR5KSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgQGlmICRyZW0tZmFsbGJhY2sgb3IgJHJlbS1weC1vbmx5IHtcbiAgICAgICAgI3skcHJvcGVydHl9OiByZW0tY29udmVydChweCwgJHZhbHVlcy4uLik7XG4gICAgICB9XG4gICAgICBAaWYgbm90ICRyZW0tcHgtb25seSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogcmVtLWNvbnZlcnQocmVtLCAkdmFsdWVzLi4uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */