@charset "UTF-8";

/* FOUNDATION VARIABLES */


/**
 * Foundation for Sites by ZURB
 * Version 6.5.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */

@media print,
screen and (min-width: 40em) {
    .reveal,
    .reveal.tiny,
    .reveal.small,
    .reveal.large {
        right: auto;
        left: auto;
        margin: 0 auto;
    }
}


/*! 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: 0.67em 0;
}

hr {
    -webkit-box-sizing: content-box;
    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: -0.25em;
}

sup {
    top: -0.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;
}

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

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

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

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    -webkit-box-sizing: border-box;
    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"] {
    -webkit-box-sizing: border-box;
    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;
}

.foundation-mq {
    font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em";
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 100%;
}

*,
*::before,
*::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    background: #fefefe;
    font-family: "Lato", sans-serif;
    font-weight: normal;
    line-height: 1.5;
    color: #0a0a0a;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
}

textarea {
    height: auto;
    min-height: 50px;
    border-radius: 0;
}

select {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    border-radius: 0;
}

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
    max-width: none !important;
}

button {
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    line-height: 1;
    cursor: auto;
}

[data-whatinput='mouse'] button {
    outline: 0;
}

pre {
    overflow: auto;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
}

.is-visible {
    display: block !important;
}

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

[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
textarea {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 2.4375rem;
    margin: 0 0 1rem;
    padding: 0.5rem;
    border: 1px solid #cacaca;
    border-radius: 0;
    background-color: #fefefe;
    -webkit-box-shadow: none;
    box-shadow: none;
    font-family: inherit;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    color: #0a0a0a;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

[type='text']:focus,
[type='password']:focus,
[type='date']:focus,
[type='datetime']:focus,
[type='datetime-local']:focus,
[type='month']:focus,
[type='week']:focus,
[type='email']:focus,
[type='number']:focus,
[type='search']:focus,
[type='tel']:focus,
[type='time']:focus,
[type='url']:focus,
[type='color']:focus,
textarea:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
    box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

textarea {
    max-width: 100%;
}

textarea[rows] {
    height: auto;
}

input:disabled,
input[readonly],
textarea:disabled,
textarea[readonly] {
    background-color: #e6e6e6;
    cursor: not-allowed;
}

[type='submit'],
[type='button'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
}

input[type='search'] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

::-webkit-input-placeholder {
    color: #cacaca;
}

::-moz-placeholder {
    color: #cacaca;
}

:-ms-input-placeholder {
    color: #cacaca;
}

::-ms-input-placeholder {
    color: #cacaca;
}

::placeholder {
    color: #cacaca;
}

[type='file'],
[type='checkbox'],
[type='radio'] {
    margin: 0 0 1rem;
}

[type='checkbox']+label,
[type='radio']+label {
    display: inline-block;
    vertical-align: baseline;
    margin-left: 0.5rem;
    margin-right: 1rem;
    margin-bottom: 0;
}

[type='checkbox']+label[for],
[type='radio']+label[for] {
    cursor: pointer;
}

label>[type='checkbox'],
label>[type='radio'] {
    margin-right: 0.5rem;
}

[type='file'] {
    width: 100%;
}

label {
    display: block;
    margin: 0;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 1.8;
    color: #0a0a0a;
}

label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0;
}

.help-text {
    margin-top: -0.5rem;
    font-size: 0.8125rem;
    font-style: italic;
    color: #0a0a0a;
}

.input-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 1rem;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.input-group> :first-child,
.input-group> :first-child.input-group-button>* {
    border-radius: 0 0 0 0;
}

.input-group> :last-child,
.input-group> :last-child.input-group-button>* {
    border-radius: 0 0 0 0;
}

.input-group-label,
.input-group-field,
.input-group-button,
.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
    margin: 0;
    white-space: nowrap;
}

.input-group-label {
    padding: 0 1rem;
    border: 1px solid #cacaca;
    background: #e6e6e6;
    color: #0a0a0a;
    text-align: center;
    white-space: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.input-group-label:first-child {
    border-right: 0;
}

.input-group-label:last-child {
    border-left: 0;
}

.input-group-field {
    border-radius: 0;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
    min-width: 0;
}

.input-group-button {
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
    -ms-flex-item-align: stretch;
    align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem;
}

fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

legend {
    max-width: 100%;
    margin-bottom: 0.5rem;
}

.fieldset {
    margin: 1.125rem 0;
    padding: 1.25rem;
    border: 1px solid #cacaca;
}

.fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem;
}

select {
    height: 2.4375rem;
    margin: 0 0 1rem;
    padding: 0.5rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #cacaca;
    border-radius: 0;
    background-color: #fefefe;
    font-family: inherit;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    color: #0a0a0a;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
    background-origin: content-box;
    background-position: right -1rem center;
    background-repeat: no-repeat;
    background-size: 9px 6px;
    padding-right: 1.5rem;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

@media screen and (min-width: 0\0) {
    select {
        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
    }
}

select:focus {
    outline: none;
    border: 1px solid #8a8a8a;
    background-color: #fefefe;
    -webkit-box-shadow: 0 0 5px #cacaca;
    box-shadow: 0 0 5px #cacaca;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed;
}

select::-ms-expand {
    display: none;
}

select[multiple] {
    height: auto;
    background-image: none;
}

.is-invalid-input:not(:focus) {
    border-color: #cc4b37;
    background-color: #f9ecea;
}

.is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #cc4b37;
}

.is-invalid-input:not(:focus)::-moz-placeholder {
    color: #cc4b37;
}

.is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37;
}

.is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #cc4b37;
}

.is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37;
}

.is-invalid-label {
    color: #cc4b37;
}

.form-error {
    display: none;
    margin-top: -0.5rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: bold;
    color: #cc4b37;
}

.form-error.is-visible {
    display: block;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}

p {
    margin-bottom: 1rem;
    font-size: inherit;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
}

em,
i {
    font-style: italic;
    line-height: inherit;
}

strong,
b {
    font-weight: bold;
    line-height: inherit;
}

small {
    font-size: 80%;
    line-height: inherit;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "Lato", sans-serif;
    font-style: normal;
    font-weight: normal;
    color: inherit;
    text-rendering: optimizeLegibility;
}

h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small {
    line-height: 0;
    color: #cacaca;
}

h1,
.h1 {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h2,
.h2 {
    font-size: 1.25rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h3,
.h3 {
    font-size: 1.1875rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h4,
.h4 {
    font-size: 1.125rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h5,
.h5 {
    font-size: 1.0625rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h6,
.h6 {
    font-size: 1rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

@media print,
screen and (min-width: 40em) {
    h1,
    .h1 {
        font-size: 3rem;
    }
    h2,
    .h2 {
        font-size: 2.5rem;
    }
    h3,
    .h3 {
        font-size: 1.9375rem;
    }
    h4,
    .h4 {
        font-size: 1.5625rem;
    }
    h5,
    .h5 {
        font-size: 1.25rem;
    }
    h6,
    .h6 {
        font-size: 1rem;
    }
}

a {
    line-height: inherit;
    color: #991B1E;
    text-decoration: none;
    cursor: pointer;
}

a:hover,
a:focus {
    color: #84171a;
}

a img {
    border: 0;
}

hr {
    clear: both;
    max-width: 75rem;
    height: 0;
    margin: 1.25rem auto;
    border-top: 0;
    border-right: 0;
    border-bottom: 1px solid #cacaca;
    border-left: 0;
}

ul,
ol,
dl {
    margin-bottom: 1rem;
    list-style-position: outside;
    line-height: 1.6;
}

li {
    font-size: inherit;
}

ul {
    margin-left: 1.25rem;
    list-style-type: disc;
}

ol {
    margin-left: 1.25rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
    margin-left: 1.25rem;
    margin-bottom: 0;
}

dl {
    margin-bottom: 1rem;
}

dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold;
}

blockquote {
    margin: 0 0 1rem;
    padding: 0.5625rem 1.25rem 0 1.1875rem;
    border-left: 1px solid #cacaca;
}

blockquote,
blockquote p {
    line-height: 1.6;
    color: #8a8a8a;
}

cite {
    display: block;
    font-size: 0.8125rem;
    color: #8a8a8a;
}

cite:before {
    content: "— ";
}

abbr,
abbr[title] {
    border-bottom: 1px dotted #0a0a0a;
    cursor: help;
    text-decoration: none;
}

figure {
    margin: 0;
}

code {
    padding: 0.125rem 0.3125rem 0.0625rem;
    border: 1px solid #cacaca;
    background-color: #e6e6e6;
    font-family: Consolas, "Liberation Mono", Courier, monospace;
    font-weight: normal;
    color: #0a0a0a;
}

kbd {
    margin: 0;
    padding: 0.125rem 0.25rem 0;
    background-color: #e6e6e6;
    font-family: Consolas, "Liberation Mono", Courier, monospace;
    color: #0a0a0a;
}

.subheader {
    margin-top: 0.2rem;
    margin-bottom: 0.5rem;
    font-weight: normal;
    line-height: 1.4;
    color: #8a8a8a;
}

.lead {
    font-size: 125%;
    line-height: 1.6;
}

.stat {
    font-size: 2.5rem;
    line-height: 1;
}

p+.stat {
    margin-top: -1rem;
}

ul.no-bullet,
ol.no-bullet {
    margin-left: 0;
    list-style: none;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-justify {
    text-align: justify;
}

@media print,
screen and (min-width: 40em) {
    .medium-text-left {
        text-align: left;
    }
    .medium-text-right {
        text-align: right;
    }
    .medium-text-center {
        text-align: center;
    }
    .medium-text-justify {
        text-align: justify;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-text-left {
        text-align: left;
    }
    .large-text-right {
        text-align: right;
    }
    .large-text-center {
        text-align: center;
    }
    .large-text-justify {
        text-align: justify;
    }
}

.show-for-print {
    display: none !important;
}

@media print {
    * {
        background: transparent !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        color: black !important;
        text-shadow: none !important;
    }
    .show-for-print {
        display: block !important;
    }
    .hide-for-print {
        display: none !important;
    }
    table.show-for-print {
        display: table !important;
    }
    thead.show-for-print {
        display: table-header-group !important;
    }
    tbody.show-for-print {
        display: table-row-group !important;
    }
    tr.show-for-print {
        display: table-row !important;
    }
    td.show-for-print {
        display: table-cell !important;
    }
    th.show-for-print {
        display: table-cell !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]:after {
        content: " (" attr(href) ")";
    }
    .ir a:after,
    a[href^='javascript:']:after,
    a[href^='#']:after {
        content: '';
    }
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    pre,
    blockquote {
        border: 1px solid #8a8a8a;
        page-break-inside: avoid;
    }
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    img {
        max-width: 100% !important;
    }
    @page {
        margin: 0.5cm;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
    .print-break-inside {
        page-break-inside: auto;
    }
}

.grid-container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

@media print,
screen and (min-width: 40em) {
    .grid-container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
    }
}

.grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media print,
screen and (min-width: 40em) {
    .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
    }
}

.grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.grid-x {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}

.cell {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: 100%;
}

.cell.auto {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
}

.cell.shrink {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.grid-x>.auto {
    width: auto;
}

.grid-x>.shrink {
    width: auto;
}

.grid-x>.small-shrink,
.grid-x>.small-full,
.grid-x>.small-1,
.grid-x>.small-2,
.grid-x>.small-3,
.grid-x>.small-4,
.grid-x>.small-5,
.grid-x>.small-6,
.grid-x>.small-7,
.grid-x>.small-8,
.grid-x>.small-9,
.grid-x>.small-10,
.grid-x>.small-11,
.grid-x>.small-12 {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

@media print,
screen and (min-width: 40em) {
    .grid-x>.medium-shrink,
    .grid-x>.medium-full,
    .grid-x>.medium-1,
    .grid-x>.medium-2,
    .grid-x>.medium-3,
    .grid-x>.medium-4,
    .grid-x>.medium-5,
    .grid-x>.medium-6,
    .grid-x>.medium-7,
    .grid-x>.medium-8,
    .grid-x>.medium-9,
    .grid-x>.medium-10,
    .grid-x>.medium-11,
    .grid-x>.medium-12 {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-x>.large-shrink,
    .grid-x>.large-full,
    .grid-x>.large-1,
    .grid-x>.large-2,
    .grid-x>.large-3,
    .grid-x>.large-4,
    .grid-x>.large-5,
    .grid-x>.large-6,
    .grid-x>.large-7,
    .grid-x>.large-8,
    .grid-x>.large-9,
    .grid-x>.large-10,
    .grid-x>.large-11,
    .grid-x>.large-12 {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
}

.grid-x>.small-1,
.grid-x>.small-2,
.grid-x>.small-3,
.grid-x>.small-4,
.grid-x>.small-5,
.grid-x>.small-6,
.grid-x>.small-7,
.grid-x>.small-8,
.grid-x>.small-9,
.grid-x>.small-10,
.grid-x>.small-11,
.grid-x>.small-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.grid-x>.small-1 {
    width: 8.33333%;
}

.grid-x>.small-2 {
    width: 16.66667%;
}

.grid-x>.small-3 {
    width: 25%;
}

.grid-x>.small-4 {
    width: 33.33333%;
}

.grid-x>.small-5 {
    width: 41.66667%;
}

.grid-x>.small-6 {
    width: 50%;
}

.grid-x>.small-7 {
    width: 58.33333%;
}

.grid-x>.small-8 {
    width: 66.66667%;
}

.grid-x>.small-9 {
    width: 75%;
}

.grid-x>.small-10 {
    width: 83.33333%;
}

.grid-x>.small-11 {
    width: 91.66667%;
}

.grid-x>.small-12 {
    width: 100%;
}

@media print,
screen and (min-width: 40em) {
    .grid-x>.medium-auto {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto;
    }
    .grid-x>.medium-shrink,
    .grid-x>.medium-1,
    .grid-x>.medium-2,
    .grid-x>.medium-3,
    .grid-x>.medium-4,
    .grid-x>.medium-5,
    .grid-x>.medium-6,
    .grid-x>.medium-7,
    .grid-x>.medium-8,
    .grid-x>.medium-9,
    .grid-x>.medium-10,
    .grid-x>.medium-11,
    .grid-x>.medium-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }
    .grid-x>.medium-shrink {
        width: auto;
    }
    .grid-x>.medium-1 {
        width: 8.33333%;
    }
    .grid-x>.medium-2 {
        width: 16.66667%;
    }
    .grid-x>.medium-3 {
        width: 25%;
    }
    .grid-x>.medium-4 {
        width: 33.33333%;
    }
    .grid-x>.medium-5 {
        width: 41.66667%;
    }
    .grid-x>.medium-6 {
        width: 50%;
    }
    .grid-x>.medium-7 {
        width: 58.33333%;
    }
    .grid-x>.medium-8 {
        width: 66.66667%;
    }
    .grid-x>.medium-9 {
        width: 75%;
    }
    .grid-x>.medium-10 {
        width: 83.33333%;
    }
    .grid-x>.medium-11 {
        width: 91.66667%;
    }
    .grid-x>.medium-12 {
        width: 100%;
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-x>.large-auto {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto;
    }
    .grid-x>.large-shrink,
    .grid-x>.large-1,
    .grid-x>.large-2,
    .grid-x>.large-3,
    .grid-x>.large-4,
    .grid-x>.large-5,
    .grid-x>.large-6,
    .grid-x>.large-7,
    .grid-x>.large-8,
    .grid-x>.large-9,
    .grid-x>.large-10,
    .grid-x>.large-11,
    .grid-x>.large-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }
    .grid-x>.large-shrink {
        width: auto;
    }
    .grid-x>.large-1 {
        width: 8.33333%;
    }
    .grid-x>.large-2 {
        width: 16.66667%;
    }
    .grid-x>.large-3 {
        width: 25%;
    }
    .grid-x>.large-4 {
        width: 33.33333%;
    }
    .grid-x>.large-5 {
        width: 41.66667%;
    }
    .grid-x>.large-6 {
        width: 50%;
    }
    .grid-x>.large-7 {
        width: 58.33333%;
    }
    .grid-x>.large-8 {
        width: 66.66667%;
    }
    .grid-x>.large-9 {
        width: 75%;
    }
    .grid-x>.large-10 {
        width: 83.33333%;
    }
    .grid-x>.large-11 {
        width: 91.66667%;
    }
    .grid-x>.large-12 {
        width: 100%;
    }
}

.grid-margin-x:not(.grid-x)>.cell {
    width: auto;
}

.grid-margin-y:not(.grid-y)>.cell {
    height: auto;
}

.grid-margin-x {
    margin-left: -0.625rem;
    margin-right: -0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-x {
        margin-left: -0.9375rem;
        margin-right: -0.9375rem;
    }
}

.grid-margin-x>.cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-x>.cell {
        width: calc(100% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem;
    }
}

.grid-margin-x>.auto {
    width: auto;
}

.grid-margin-x>.shrink {
    width: auto;
}

.grid-margin-x>.small-1 {
    width: calc(8.33333% - 1.25rem);
}

.grid-margin-x>.small-2 {
    width: calc(16.66667% - 1.25rem);
}

.grid-margin-x>.small-3 {
    width: calc(25% - 1.25rem);
}

.grid-margin-x>.small-4 {
    width: calc(33.33333% - 1.25rem);
}

.grid-margin-x>.small-5 {
    width: calc(41.66667% - 1.25rem);
}

.grid-margin-x>.small-6 {
    width: calc(50% - 1.25rem);
}

.grid-margin-x>.small-7 {
    width: calc(58.33333% - 1.25rem);
}

.grid-margin-x>.small-8 {
    width: calc(66.66667% - 1.25rem);
}

.grid-margin-x>.small-9 {
    width: calc(75% - 1.25rem);
}

.grid-margin-x>.small-10 {
    width: calc(83.33333% - 1.25rem);
}

.grid-margin-x>.small-11 {
    width: calc(91.66667% - 1.25rem);
}

.grid-margin-x>.small-12 {
    width: calc(100% - 1.25rem);
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-x>.auto {
        width: auto;
    }
    .grid-margin-x>.shrink {
        width: auto;
    }
    .grid-margin-x>.small-1 {
        width: calc(8.33333% - 1.875rem);
    }
    .grid-margin-x>.small-2 {
        width: calc(16.66667% - 1.875rem);
    }
    .grid-margin-x>.small-3 {
        width: calc(25% - 1.875rem);
    }
    .grid-margin-x>.small-4 {
        width: calc(33.33333% - 1.875rem);
    }
    .grid-margin-x>.small-5 {
        width: calc(41.66667% - 1.875rem);
    }
    .grid-margin-x>.small-6 {
        width: calc(50% - 1.875rem);
    }
    .grid-margin-x>.small-7 {
        width: calc(58.33333% - 1.875rem);
    }
    .grid-margin-x>.small-8 {
        width: calc(66.66667% - 1.875rem);
    }
    .grid-margin-x>.small-9 {
        width: calc(75% - 1.875rem);
    }
    .grid-margin-x>.small-10 {
        width: calc(83.33333% - 1.875rem);
    }
    .grid-margin-x>.small-11 {
        width: calc(91.66667% - 1.875rem);
    }
    .grid-margin-x>.small-12 {
        width: calc(100% - 1.875rem);
    }
    .grid-margin-x>.medium-auto {
        width: auto;
    }
    .grid-margin-x>.medium-shrink {
        width: auto;
    }
    .grid-margin-x>.medium-1 {
        width: calc(8.33333% - 1.875rem);
    }
    .grid-margin-x>.medium-2 {
        width: calc(16.66667% - 1.875rem);
    }
    .grid-margin-x>.medium-3 {
        width: calc(25% - 1.875rem);
    }
    .grid-margin-x>.medium-4 {
        width: calc(33.33333% - 1.875rem);
    }
    .grid-margin-x>.medium-5 {
        width: calc(41.66667% - 1.875rem);
    }
    .grid-margin-x>.medium-6 {
        width: calc(50% - 1.875rem);
    }
    .grid-margin-x>.medium-7 {
        width: calc(58.33333% - 1.875rem);
    }
    .grid-margin-x>.medium-8 {
        width: calc(66.66667% - 1.875rem);
    }
    .grid-margin-x>.medium-9 {
        width: calc(75% - 1.875rem);
    }
    .grid-margin-x>.medium-10 {
        width: calc(83.33333% - 1.875rem);
    }
    .grid-margin-x>.medium-11 {
        width: calc(91.66667% - 1.875rem);
    }
    .grid-margin-x>.medium-12 {
        width: calc(100% - 1.875rem);
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-x>.large-auto {
        width: auto;
    }
    .grid-margin-x>.large-shrink {
        width: auto;
    }
    .grid-margin-x>.large-1 {
        width: calc(8.33333% - 1.875rem);
    }
    .grid-margin-x>.large-2 {
        width: calc(16.66667% - 1.875rem);
    }
    .grid-margin-x>.large-3 {
        width: calc(25% - 1.875rem);
    }
    .grid-margin-x>.large-4 {
        width: calc(33.33333% - 1.875rem);
    }
    .grid-margin-x>.large-5 {
        width: calc(41.66667% - 1.875rem);
    }
    .grid-margin-x>.large-6 {
        width: calc(50% - 1.875rem);
    }
    .grid-margin-x>.large-7 {
        width: calc(58.33333% - 1.875rem);
    }
    .grid-margin-x>.large-8 {
        width: calc(66.66667% - 1.875rem);
    }
    .grid-margin-x>.large-9 {
        width: calc(75% - 1.875rem);
    }
    .grid-margin-x>.large-10 {
        width: calc(83.33333% - 1.875rem);
    }
    .grid-margin-x>.large-11 {
        width: calc(91.66667% - 1.875rem);
    }
    .grid-margin-x>.large-12 {
        width: calc(100% - 1.875rem);
    }
}

.grid-padding-x .grid-padding-x {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem;
    }
}

.grid-container:not(.full)>.grid-padding-x {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-container:not(.full)>.grid-padding-x {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem;
    }
}

.grid-padding-x>.cell {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-padding-x>.cell {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
    }
}

.small-up-1>.cell {
    width: 100%;
}

.small-up-2>.cell {
    width: 50%;
}

.small-up-3>.cell {
    width: 33.33333%;
}

.small-up-4>.cell {
    width: 25%;
}

.small-up-5>.cell {
    width: 20%;
}

.small-up-6>.cell {
    width: 16.66667%;
}

.small-up-7>.cell {
    width: 14.28571%;
}

.small-up-8>.cell {
    width: 12.5%;
}

@media print,
screen and (min-width: 40em) {
    .medium-up-1>.cell {
        width: 100%;
    }
    .medium-up-2>.cell {
        width: 50%;
    }
    .medium-up-3>.cell {
        width: 33.33333%;
    }
    .medium-up-4>.cell {
        width: 25%;
    }
    .medium-up-5>.cell {
        width: 20%;
    }
    .medium-up-6>.cell {
        width: 16.66667%;
    }
    .medium-up-7>.cell {
        width: 14.28571%;
    }
    .medium-up-8>.cell {
        width: 12.5%;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-up-1>.cell {
        width: 100%;
    }
    .large-up-2>.cell {
        width: 50%;
    }
    .large-up-3>.cell {
        width: 33.33333%;
    }
    .large-up-4>.cell {
        width: 25%;
    }
    .large-up-5>.cell {
        width: 20%;
    }
    .large-up-6>.cell {
        width: 16.66667%;
    }
    .large-up-7>.cell {
        width: 14.28571%;
    }
    .large-up-8>.cell {
        width: 12.5%;
    }
}

.grid-margin-x.small-up-1>.cell {
    width: calc(100% - 1.25rem);
}

.grid-margin-x.small-up-2>.cell {
    width: calc(50% - 1.25rem);
}

.grid-margin-x.small-up-3>.cell {
    width: calc(33.33333% - 1.25rem);
}

.grid-margin-x.small-up-4>.cell {
    width: calc(25% - 1.25rem);
}

.grid-margin-x.small-up-5>.cell {
    width: calc(20% - 1.25rem);
}

.grid-margin-x.small-up-6>.cell {
    width: calc(16.66667% - 1.25rem);
}

.grid-margin-x.small-up-7>.cell {
    width: calc(14.28571% - 1.25rem);
}

.grid-margin-x.small-up-8>.cell {
    width: calc(12.5% - 1.25rem);
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-x.small-up-1>.cell {
        width: calc(100% - 1.875rem);
    }
    .grid-margin-x.small-up-2>.cell {
        width: calc(50% - 1.875rem);
    }
    .grid-margin-x.small-up-3>.cell {
        width: calc(33.33333% - 1.875rem);
    }
    .grid-margin-x.small-up-4>.cell {
        width: calc(25% - 1.875rem);
    }
    .grid-margin-x.small-up-5>.cell {
        width: calc(20% - 1.875rem);
    }
    .grid-margin-x.small-up-6>.cell {
        width: calc(16.66667% - 1.875rem);
    }
    .grid-margin-x.small-up-7>.cell {
        width: calc(14.28571% - 1.875rem);
    }
    .grid-margin-x.small-up-8>.cell {
        width: calc(12.5% - 1.875rem);
    }
    .grid-margin-x.medium-up-1>.cell {
        width: calc(100% - 1.875rem);
    }
    .grid-margin-x.medium-up-2>.cell {
        width: calc(50% - 1.875rem);
    }
    .grid-margin-x.medium-up-3>.cell {
        width: calc(33.33333% - 1.875rem);
    }
    .grid-margin-x.medium-up-4>.cell {
        width: calc(25% - 1.875rem);
    }
    .grid-margin-x.medium-up-5>.cell {
        width: calc(20% - 1.875rem);
    }
    .grid-margin-x.medium-up-6>.cell {
        width: calc(16.66667% - 1.875rem);
    }
    .grid-margin-x.medium-up-7>.cell {
        width: calc(14.28571% - 1.875rem);
    }
    .grid-margin-x.medium-up-8>.cell {
        width: calc(12.5% - 1.875rem);
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-x.large-up-1>.cell {
        width: calc(100% - 1.875rem);
    }
    .grid-margin-x.large-up-2>.cell {
        width: calc(50% - 1.875rem);
    }
    .grid-margin-x.large-up-3>.cell {
        width: calc(33.33333% - 1.875rem);
    }
    .grid-margin-x.large-up-4>.cell {
        width: calc(25% - 1.875rem);
    }
    .grid-margin-x.large-up-5>.cell {
        width: calc(20% - 1.875rem);
    }
    .grid-margin-x.large-up-6>.cell {
        width: calc(16.66667% - 1.875rem);
    }
    .grid-margin-x.large-up-7>.cell {
        width: calc(14.28571% - 1.875rem);
    }
    .grid-margin-x.large-up-8>.cell {
        width: calc(12.5% - 1.875rem);
    }
}

.small-margin-collapse {
    margin-right: 0;
    margin-left: 0;
}

.small-margin-collapse>.cell {
    margin-right: 0;
    margin-left: 0;
}

.small-margin-collapse>.small-1 {
    width: 8.33333%;
}

.small-margin-collapse>.small-2 {
    width: 16.66667%;
}

.small-margin-collapse>.small-3 {
    width: 25%;
}

.small-margin-collapse>.small-4 {
    width: 33.33333%;
}

.small-margin-collapse>.small-5 {
    width: 41.66667%;
}

.small-margin-collapse>.small-6 {
    width: 50%;
}

.small-margin-collapse>.small-7 {
    width: 58.33333%;
}

.small-margin-collapse>.small-8 {
    width: 66.66667%;
}

.small-margin-collapse>.small-9 {
    width: 75%;
}

.small-margin-collapse>.small-10 {
    width: 83.33333%;
}

.small-margin-collapse>.small-11 {
    width: 91.66667%;
}

.small-margin-collapse>.small-12 {
    width: 100%;
}

@media print,
screen and (min-width: 40em) {
    .small-margin-collapse>.medium-1 {
        width: 8.33333%;
    }
    .small-margin-collapse>.medium-2 {
        width: 16.66667%;
    }
    .small-margin-collapse>.medium-3 {
        width: 25%;
    }
    .small-margin-collapse>.medium-4 {
        width: 33.33333%;
    }
    .small-margin-collapse>.medium-5 {
        width: 41.66667%;
    }
    .small-margin-collapse>.medium-6 {
        width: 50%;
    }
    .small-margin-collapse>.medium-7 {
        width: 58.33333%;
    }
    .small-margin-collapse>.medium-8 {
        width: 66.66667%;
    }
    .small-margin-collapse>.medium-9 {
        width: 75%;
    }
    .small-margin-collapse>.medium-10 {
        width: 83.33333%;
    }
    .small-margin-collapse>.medium-11 {
        width: 91.66667%;
    }
    .small-margin-collapse>.medium-12 {
        width: 100%;
    }
}

@media print,
screen and (min-width: 64em) {
    .small-margin-collapse>.large-1 {
        width: 8.33333%;
    }
    .small-margin-collapse>.large-2 {
        width: 16.66667%;
    }
    .small-margin-collapse>.large-3 {
        width: 25%;
    }
    .small-margin-collapse>.large-4 {
        width: 33.33333%;
    }
    .small-margin-collapse>.large-5 {
        width: 41.66667%;
    }
    .small-margin-collapse>.large-6 {
        width: 50%;
    }
    .small-margin-collapse>.large-7 {
        width: 58.33333%;
    }
    .small-margin-collapse>.large-8 {
        width: 66.66667%;
    }
    .small-margin-collapse>.large-9 {
        width: 75%;
    }
    .small-margin-collapse>.large-10 {
        width: 83.33333%;
    }
    .small-margin-collapse>.large-11 {
        width: 91.66667%;
    }
    .small-margin-collapse>.large-12 {
        width: 100%;
    }
}

.small-padding-collapse {
    margin-right: 0;
    margin-left: 0;
}

.small-padding-collapse>.cell {
    padding-right: 0;
    padding-left: 0;
}

@media print,
screen and (min-width: 40em) {
    .medium-margin-collapse {
        margin-right: 0;
        margin-left: 0;
    }
    .medium-margin-collapse>.cell {
        margin-right: 0;
        margin-left: 0;
    }
}

@media print,
screen and (min-width: 40em) {
    .medium-margin-collapse>.small-1 {
        width: 8.33333%;
    }
    .medium-margin-collapse>.small-2 {
        width: 16.66667%;
    }
    .medium-margin-collapse>.small-3 {
        width: 25%;
    }
    .medium-margin-collapse>.small-4 {
        width: 33.33333%;
    }
    .medium-margin-collapse>.small-5 {
        width: 41.66667%;
    }
    .medium-margin-collapse>.small-6 {
        width: 50%;
    }
    .medium-margin-collapse>.small-7 {
        width: 58.33333%;
    }
    .medium-margin-collapse>.small-8 {
        width: 66.66667%;
    }
    .medium-margin-collapse>.small-9 {
        width: 75%;
    }
    .medium-margin-collapse>.small-10 {
        width: 83.33333%;
    }
    .medium-margin-collapse>.small-11 {
        width: 91.66667%;
    }
    .medium-margin-collapse>.small-12 {
        width: 100%;
    }
}

@media print,
screen and (min-width: 40em) {
    .medium-margin-collapse>.medium-1 {
        width: 8.33333%;
    }
    .medium-margin-collapse>.medium-2 {
        width: 16.66667%;
    }
    .medium-margin-collapse>.medium-3 {
        width: 25%;
    }
    .medium-margin-collapse>.medium-4 {
        width: 33.33333%;
    }
    .medium-margin-collapse>.medium-5 {
        width: 41.66667%;
    }
    .medium-margin-collapse>.medium-6 {
        width: 50%;
    }
    .medium-margin-collapse>.medium-7 {
        width: 58.33333%;
    }
    .medium-margin-collapse>.medium-8 {
        width: 66.66667%;
    }
    .medium-margin-collapse>.medium-9 {
        width: 75%;
    }
    .medium-margin-collapse>.medium-10 {
        width: 83.33333%;
    }
    .medium-margin-collapse>.medium-11 {
        width: 91.66667%;
    }
    .medium-margin-collapse>.medium-12 {
        width: 100%;
    }
}

@media print,
screen and (min-width: 64em) {
    .medium-margin-collapse>.large-1 {
        width: 8.33333%;
    }
    .medium-margin-collapse>.large-2 {
        width: 16.66667%;
    }
    .medium-margin-collapse>.large-3 {
        width: 25%;
    }
    .medium-margin-collapse>.large-4 {
        width: 33.33333%;
    }
    .medium-margin-collapse>.large-5 {
        width: 41.66667%;
    }
    .medium-margin-collapse>.large-6 {
        width: 50%;
    }
    .medium-margin-collapse>.large-7 {
        width: 58.33333%;
    }
    .medium-margin-collapse>.large-8 {
        width: 66.66667%;
    }
    .medium-margin-collapse>.large-9 {
        width: 75%;
    }
    .medium-margin-collapse>.large-10 {
        width: 83.33333%;
    }
    .medium-margin-collapse>.large-11 {
        width: 91.66667%;
    }
    .medium-margin-collapse>.large-12 {
        width: 100%;
    }
}

@media print,
screen and (min-width: 40em) {
    .medium-padding-collapse {
        margin-right: 0;
        margin-left: 0;
    }
    .medium-padding-collapse>.cell {
        padding-right: 0;
        padding-left: 0;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-margin-collapse {
        margin-right: 0;
        margin-left: 0;
    }
    .large-margin-collapse>.cell {
        margin-right: 0;
        margin-left: 0;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-margin-collapse>.small-1 {
        width: 8.33333%;
    }
    .large-margin-collapse>.small-2 {
        width: 16.66667%;
    }
    .large-margin-collapse>.small-3 {
        width: 25%;
    }
    .large-margin-collapse>.small-4 {
        width: 33.33333%;
    }
    .large-margin-collapse>.small-5 {
        width: 41.66667%;
    }
    .large-margin-collapse>.small-6 {
        width: 50%;
    }
    .large-margin-collapse>.small-7 {
        width: 58.33333%;
    }
    .large-margin-collapse>.small-8 {
        width: 66.66667%;
    }
    .large-margin-collapse>.small-9 {
        width: 75%;
    }
    .large-margin-collapse>.small-10 {
        width: 83.33333%;
    }
    .large-margin-collapse>.small-11 {
        width: 91.66667%;
    }
    .large-margin-collapse>.small-12 {
        width: 100%;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-margin-collapse>.medium-1 {
        width: 8.33333%;
    }
    .large-margin-collapse>.medium-2 {
        width: 16.66667%;
    }
    .large-margin-collapse>.medium-3 {
        width: 25%;
    }
    .large-margin-collapse>.medium-4 {
        width: 33.33333%;
    }
    .large-margin-collapse>.medium-5 {
        width: 41.66667%;
    }
    .large-margin-collapse>.medium-6 {
        width: 50%;
    }
    .large-margin-collapse>.medium-7 {
        width: 58.33333%;
    }
    .large-margin-collapse>.medium-8 {
        width: 66.66667%;
    }
    .large-margin-collapse>.medium-9 {
        width: 75%;
    }
    .large-margin-collapse>.medium-10 {
        width: 83.33333%;
    }
    .large-margin-collapse>.medium-11 {
        width: 91.66667%;
    }
    .large-margin-collapse>.medium-12 {
        width: 100%;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-margin-collapse>.large-1 {
        width: 8.33333%;
    }
    .large-margin-collapse>.large-2 {
        width: 16.66667%;
    }
    .large-margin-collapse>.large-3 {
        width: 25%;
    }
    .large-margin-collapse>.large-4 {
        width: 33.33333%;
    }
    .large-margin-collapse>.large-5 {
        width: 41.66667%;
    }
    .large-margin-collapse>.large-6 {
        width: 50%;
    }
    .large-margin-collapse>.large-7 {
        width: 58.33333%;
    }
    .large-margin-collapse>.large-8 {
        width: 66.66667%;
    }
    .large-margin-collapse>.large-9 {
        width: 75%;
    }
    .large-margin-collapse>.large-10 {
        width: 83.33333%;
    }
    .large-margin-collapse>.large-11 {
        width: 91.66667%;
    }
    .large-margin-collapse>.large-12 {
        width: 100%;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-padding-collapse {
        margin-right: 0;
        margin-left: 0;
    }
    .large-padding-collapse>.cell {
        padding-right: 0;
        padding-left: 0;
    }
}

.small-offset-0 {
    margin-left: 0%;
}

.grid-margin-x>.small-offset-0 {
    margin-left: calc(0% + 0.625rem);
}

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

.grid-margin-x>.small-offset-1 {
    margin-left: calc(8.33333% + 0.625rem);
}

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

.grid-margin-x>.small-offset-2 {
    margin-left: calc(16.66667% + 0.625rem);
}

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

.grid-margin-x>.small-offset-3 {
    margin-left: calc(25% + 0.625rem);
}

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

.grid-margin-x>.small-offset-4 {
    margin-left: calc(33.33333% + 0.625rem);
}

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

.grid-margin-x>.small-offset-5 {
    margin-left: calc(41.66667% + 0.625rem);
}

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

.grid-margin-x>.small-offset-6 {
    margin-left: calc(50% + 0.625rem);
}

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

.grid-margin-x>.small-offset-7 {
    margin-left: calc(58.33333% + 0.625rem);
}

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

.grid-margin-x>.small-offset-8 {
    margin-left: calc(66.66667% + 0.625rem);
}

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

.grid-margin-x>.small-offset-9 {
    margin-left: calc(75% + 0.625rem);
}

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

.grid-margin-x>.small-offset-10 {
    margin-left: calc(83.33333% + 0.625rem);
}

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

.grid-margin-x>.small-offset-11 {
    margin-left: calc(91.66667% + 0.625rem);
}

@media print,
screen and (min-width: 40em) {
    .medium-offset-0 {
        margin-left: 0%;
    }
    .grid-margin-x>.medium-offset-0 {
        margin-left: calc(0% + 0.9375rem);
    }
    .medium-offset-1 {
        margin-left: 8.33333%;
    }
    .grid-margin-x>.medium-offset-1 {
        margin-left: calc(8.33333% + 0.9375rem);
    }
    .medium-offset-2 {
        margin-left: 16.66667%;
    }
    .grid-margin-x>.medium-offset-2 {
        margin-left: calc(16.66667% + 0.9375rem);
    }
    .medium-offset-3 {
        margin-left: 25%;
    }
    .grid-margin-x>.medium-offset-3 {
        margin-left: calc(25% + 0.9375rem);
    }
    .medium-offset-4 {
        margin-left: 33.33333%;
    }
    .grid-margin-x>.medium-offset-4 {
        margin-left: calc(33.33333% + 0.9375rem);
    }
    .medium-offset-5 {
        margin-left: 41.66667%;
    }
    .grid-margin-x>.medium-offset-5 {
        margin-left: calc(41.66667% + 0.9375rem);
    }
    .medium-offset-6 {
        margin-left: 50%;
    }
    .grid-margin-x>.medium-offset-6 {
        margin-left: calc(50% + 0.9375rem);
    }
    .medium-offset-7 {
        margin-left: 58.33333%;
    }
    .grid-margin-x>.medium-offset-7 {
        margin-left: calc(58.33333% + 0.9375rem);
    }
    .medium-offset-8 {
        margin-left: 66.66667%;
    }
    .grid-margin-x>.medium-offset-8 {
        margin-left: calc(66.66667% + 0.9375rem);
    }
    .medium-offset-9 {
        margin-left: 75%;
    }
    .grid-margin-x>.medium-offset-9 {
        margin-left: calc(75% + 0.9375rem);
    }
    .medium-offset-10 {
        margin-left: 83.33333%;
    }
    .grid-margin-x>.medium-offset-10 {
        margin-left: calc(83.33333% + 0.9375rem);
    }
    .medium-offset-11 {
        margin-left: 91.66667%;
    }
    .grid-margin-x>.medium-offset-11 {
        margin-left: calc(91.66667% + 0.9375rem);
    }
}

@media print,
screen and (min-width: 64em) {
    .large-offset-0 {
        margin-left: 0%;
    }
    .grid-margin-x>.large-offset-0 {
        margin-left: calc(0% + 0.9375rem);
    }
    .large-offset-1 {
        margin-left: 8.33333%;
    }
    .grid-margin-x>.large-offset-1 {
        margin-left: calc(8.33333% + 0.9375rem);
    }
    .large-offset-2 {
        margin-left: 16.66667%;
    }
    .grid-margin-x>.large-offset-2 {
        margin-left: calc(16.66667% + 0.9375rem);
    }
    .large-offset-3 {
        margin-left: 25%;
    }
    .grid-margin-x>.large-offset-3 {
        margin-left: calc(25% + 0.9375rem);
    }
    .large-offset-4 {
        margin-left: 33.33333%;
    }
    .grid-margin-x>.large-offset-4 {
        margin-left: calc(33.33333% + 0.9375rem);
    }
    .large-offset-5 {
        margin-left: 41.66667%;
    }
    .grid-margin-x>.large-offset-5 {
        margin-left: calc(41.66667% + 0.9375rem);
    }
    .large-offset-6 {
        margin-left: 50%;
    }
    .grid-margin-x>.large-offset-6 {
        margin-left: calc(50% + 0.9375rem);
    }
    .large-offset-7 {
        margin-left: 58.33333%;
    }
    .grid-margin-x>.large-offset-7 {
        margin-left: calc(58.33333% + 0.9375rem);
    }
    .large-offset-8 {
        margin-left: 66.66667%;
    }
    .grid-margin-x>.large-offset-8 {
        margin-left: calc(66.66667% + 0.9375rem);
    }
    .large-offset-9 {
        margin-left: 75%;
    }
    .grid-margin-x>.large-offset-9 {
        margin-left: calc(75% + 0.9375rem);
    }
    .large-offset-10 {
        margin-left: 83.33333%;
    }
    .grid-margin-x>.large-offset-10 {
        margin-left: calc(83.33333% + 0.9375rem);
    }
    .large-offset-11 {
        margin-left: 91.66667%;
    }
    .grid-margin-x>.large-offset-11 {
        margin-left: calc(91.66667% + 0.9375rem);
    }
}

.grid-y {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
}

.grid-y>.cell {
    width: auto;
    max-width: none;
}

.grid-y>.auto {
    height: auto;
}

.grid-y>.shrink {
    height: auto;
}

.grid-y>.small-shrink,
.grid-y>.small-full,
.grid-y>.small-1,
.grid-y>.small-2,
.grid-y>.small-3,
.grid-y>.small-4,
.grid-y>.small-5,
.grid-y>.small-6,
.grid-y>.small-7,
.grid-y>.small-8,
.grid-y>.small-9,
.grid-y>.small-10,
.grid-y>.small-11,
.grid-y>.small-12 {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

@media print,
screen and (min-width: 40em) {
    .grid-y>.medium-shrink,
    .grid-y>.medium-full,
    .grid-y>.medium-1,
    .grid-y>.medium-2,
    .grid-y>.medium-3,
    .grid-y>.medium-4,
    .grid-y>.medium-5,
    .grid-y>.medium-6,
    .grid-y>.medium-7,
    .grid-y>.medium-8,
    .grid-y>.medium-9,
    .grid-y>.medium-10,
    .grid-y>.medium-11,
    .grid-y>.medium-12 {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-y>.large-shrink,
    .grid-y>.large-full,
    .grid-y>.large-1,
    .grid-y>.large-2,
    .grid-y>.large-3,
    .grid-y>.large-4,
    .grid-y>.large-5,
    .grid-y>.large-6,
    .grid-y>.large-7,
    .grid-y>.large-8,
    .grid-y>.large-9,
    .grid-y>.large-10,
    .grid-y>.large-11,
    .grid-y>.large-12 {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }
}

.grid-y>.small-1,
.grid-y>.small-2,
.grid-y>.small-3,
.grid-y>.small-4,
.grid-y>.small-5,
.grid-y>.small-6,
.grid-y>.small-7,
.grid-y>.small-8,
.grid-y>.small-9,
.grid-y>.small-10,
.grid-y>.small-11,
.grid-y>.small-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.grid-y>.small-1 {
    height: 8.33333%;
}

.grid-y>.small-2 {
    height: 16.66667%;
}

.grid-y>.small-3 {
    height: 25%;
}

.grid-y>.small-4 {
    height: 33.33333%;
}

.grid-y>.small-5 {
    height: 41.66667%;
}

.grid-y>.small-6 {
    height: 50%;
}

.grid-y>.small-7 {
    height: 58.33333%;
}

.grid-y>.small-8 {
    height: 66.66667%;
}

.grid-y>.small-9 {
    height: 75%;
}

.grid-y>.small-10 {
    height: 83.33333%;
}

.grid-y>.small-11 {
    height: 91.66667%;
}

.grid-y>.small-12 {
    height: 100%;
}

@media print,
screen and (min-width: 40em) {
    .grid-y>.medium-auto {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        height: auto;
    }
    .grid-y>.medium-shrink,
    .grid-y>.medium-1,
    .grid-y>.medium-2,
    .grid-y>.medium-3,
    .grid-y>.medium-4,
    .grid-y>.medium-5,
    .grid-y>.medium-6,
    .grid-y>.medium-7,
    .grid-y>.medium-8,
    .grid-y>.medium-9,
    .grid-y>.medium-10,
    .grid-y>.medium-11,
    .grid-y>.medium-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }
    .grid-y>.medium-shrink {
        height: auto;
    }
    .grid-y>.medium-1 {
        height: 8.33333%;
    }
    .grid-y>.medium-2 {
        height: 16.66667%;
    }
    .grid-y>.medium-3 {
        height: 25%;
    }
    .grid-y>.medium-4 {
        height: 33.33333%;
    }
    .grid-y>.medium-5 {
        height: 41.66667%;
    }
    .grid-y>.medium-6 {
        height: 50%;
    }
    .grid-y>.medium-7 {
        height: 58.33333%;
    }
    .grid-y>.medium-8 {
        height: 66.66667%;
    }
    .grid-y>.medium-9 {
        height: 75%;
    }
    .grid-y>.medium-10 {
        height: 83.33333%;
    }
    .grid-y>.medium-11 {
        height: 91.66667%;
    }
    .grid-y>.medium-12 {
        height: 100%;
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-y>.large-auto {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        height: auto;
    }
    .grid-y>.large-shrink,
    .grid-y>.large-1,
    .grid-y>.large-2,
    .grid-y>.large-3,
    .grid-y>.large-4,
    .grid-y>.large-5,
    .grid-y>.large-6,
    .grid-y>.large-7,
    .grid-y>.large-8,
    .grid-y>.large-9,
    .grid-y>.large-10,
    .grid-y>.large-11,
    .grid-y>.large-12 {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }
    .grid-y>.large-shrink {
        height: auto;
    }
    .grid-y>.large-1 {
        height: 8.33333%;
    }
    .grid-y>.large-2 {
        height: 16.66667%;
    }
    .grid-y>.large-3 {
        height: 25%;
    }
    .grid-y>.large-4 {
        height: 33.33333%;
    }
    .grid-y>.large-5 {
        height: 41.66667%;
    }
    .grid-y>.large-6 {
        height: 50%;
    }
    .grid-y>.large-7 {
        height: 58.33333%;
    }
    .grid-y>.large-8 {
        height: 66.66667%;
    }
    .grid-y>.large-9 {
        height: 75%;
    }
    .grid-y>.large-10 {
        height: 83.33333%;
    }
    .grid-y>.large-11 {
        height: 91.66667%;
    }
    .grid-y>.large-12 {
        height: 100%;
    }
}

.grid-padding-y .grid-padding-y {
    margin-top: -0.625rem;
    margin-bottom: -0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
        margin-top: -0.9375rem;
        margin-bottom: -0.9375rem;
    }
}

.grid-padding-y>.cell {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-padding-y>.cell {
        padding-top: 0.9375rem;
        padding-bottom: 0.9375rem;
    }
}

.grid-margin-y {
    margin-top: -0.625rem;
    margin-bottom: -0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y {
        margin-top: -0.9375rem;
        margin-bottom: -0.9375rem;
    }
}

.grid-margin-y>.cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y>.cell {
        height: calc(100% - 1.875rem);
        margin-top: 0.9375rem;
        margin-bottom: 0.9375rem;
    }
}

.grid-margin-y>.auto {
    height: auto;
}

.grid-margin-y>.shrink {
    height: auto;
}

.grid-margin-y>.small-1 {
    height: calc(8.33333% - 1.25rem);
}

.grid-margin-y>.small-2 {
    height: calc(16.66667% - 1.25rem);
}

.grid-margin-y>.small-3 {
    height: calc(25% - 1.25rem);
}

.grid-margin-y>.small-4 {
    height: calc(33.33333% - 1.25rem);
}

.grid-margin-y>.small-5 {
    height: calc(41.66667% - 1.25rem);
}

.grid-margin-y>.small-6 {
    height: calc(50% - 1.25rem);
}

.grid-margin-y>.small-7 {
    height: calc(58.33333% - 1.25rem);
}

.grid-margin-y>.small-8 {
    height: calc(66.66667% - 1.25rem);
}

.grid-margin-y>.small-9 {
    height: calc(75% - 1.25rem);
}

.grid-margin-y>.small-10 {
    height: calc(83.33333% - 1.25rem);
}

.grid-margin-y>.small-11 {
    height: calc(91.66667% - 1.25rem);
}

.grid-margin-y>.small-12 {
    height: calc(100% - 1.25rem);
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y>.auto {
        height: auto;
    }
    .grid-margin-y>.shrink {
        height: auto;
    }
    .grid-margin-y>.small-1 {
        height: calc(8.33333% - 1.875rem);
    }
    .grid-margin-y>.small-2 {
        height: calc(16.66667% - 1.875rem);
    }
    .grid-margin-y>.small-3 {
        height: calc(25% - 1.875rem);
    }
    .grid-margin-y>.small-4 {
        height: calc(33.33333% - 1.875rem);
    }
    .grid-margin-y>.small-5 {
        height: calc(41.66667% - 1.875rem);
    }
    .grid-margin-y>.small-6 {
        height: calc(50% - 1.875rem);
    }
    .grid-margin-y>.small-7 {
        height: calc(58.33333% - 1.875rem);
    }
    .grid-margin-y>.small-8 {
        height: calc(66.66667% - 1.875rem);
    }
    .grid-margin-y>.small-9 {
        height: calc(75% - 1.875rem);
    }
    .grid-margin-y>.small-10 {
        height: calc(83.33333% - 1.875rem);
    }
    .grid-margin-y>.small-11 {
        height: calc(91.66667% - 1.875rem);
    }
    .grid-margin-y>.small-12 {
        height: calc(100% - 1.875rem);
    }
    .grid-margin-y>.medium-auto {
        height: auto;
    }
    .grid-margin-y>.medium-shrink {
        height: auto;
    }
    .grid-margin-y>.medium-1 {
        height: calc(8.33333% - 1.875rem);
    }
    .grid-margin-y>.medium-2 {
        height: calc(16.66667% - 1.875rem);
    }
    .grid-margin-y>.medium-3 {
        height: calc(25% - 1.875rem);
    }
    .grid-margin-y>.medium-4 {
        height: calc(33.33333% - 1.875rem);
    }
    .grid-margin-y>.medium-5 {
        height: calc(41.66667% - 1.875rem);
    }
    .grid-margin-y>.medium-6 {
        height: calc(50% - 1.875rem);
    }
    .grid-margin-y>.medium-7 {
        height: calc(58.33333% - 1.875rem);
    }
    .grid-margin-y>.medium-8 {
        height: calc(66.66667% - 1.875rem);
    }
    .grid-margin-y>.medium-9 {
        height: calc(75% - 1.875rem);
    }
    .grid-margin-y>.medium-10 {
        height: calc(83.33333% - 1.875rem);
    }
    .grid-margin-y>.medium-11 {
        height: calc(91.66667% - 1.875rem);
    }
    .grid-margin-y>.medium-12 {
        height: calc(100% - 1.875rem);
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-y>.large-auto {
        height: auto;
    }
    .grid-margin-y>.large-shrink {
        height: auto;
    }
    .grid-margin-y>.large-1 {
        height: calc(8.33333% - 1.875rem);
    }
    .grid-margin-y>.large-2 {
        height: calc(16.66667% - 1.875rem);
    }
    .grid-margin-y>.large-3 {
        height: calc(25% - 1.875rem);
    }
    .grid-margin-y>.large-4 {
        height: calc(33.33333% - 1.875rem);
    }
    .grid-margin-y>.large-5 {
        height: calc(41.66667% - 1.875rem);
    }
    .grid-margin-y>.large-6 {
        height: calc(50% - 1.875rem);
    }
    .grid-margin-y>.large-7 {
        height: calc(58.33333% - 1.875rem);
    }
    .grid-margin-y>.large-8 {
        height: calc(66.66667% - 1.875rem);
    }
    .grid-margin-y>.large-9 {
        height: calc(75% - 1.875rem);
    }
    .grid-margin-y>.large-10 {
        height: calc(83.33333% - 1.875rem);
    }
    .grid-margin-y>.large-11 {
        height: calc(91.66667% - 1.875rem);
    }
    .grid-margin-y>.large-12 {
        height: calc(100% - 1.875rem);
    }
}

.grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100vw;
}

.cell .grid-frame {
    width: 100%;
}

.cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
}

.cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-height: 100%;
}

.cell-block-container>.grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

@media print,
screen and (min-width: 40em) {
    .medium-grid-frame {
        overflow: hidden;
        position: relative;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100vw;
    }
    .cell .medium-grid-frame {
        width: 100%;
    }
    .medium-cell-block {
        overflow-x: auto;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }
    .medium-cell-block-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        max-height: 100%;
    }
    .medium-cell-block-container>.grid-x {
        max-height: 100%;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    .medium-cell-block-y {
        overflow-y: auto;
        max-height: 100%;
        min-height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-grid-frame {
        overflow: hidden;
        position: relative;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100vw;
    }
    .cell .large-grid-frame {
        width: 100%;
    }
    .large-cell-block {
        overflow-x: auto;
        max-width: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }
    .large-cell-block-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        max-height: 100%;
    }
    .large-cell-block-container>.grid-x {
        max-height: 100%;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    .large-cell-block-y {
        overflow-y: auto;
        max-height: 100%;
        min-height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
    }
}

.grid-y.grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    height: 100vh;
}

@media print,
screen and (min-width: 40em) {
    .grid-y.medium-grid-frame {
        width: auto;
        overflow: hidden;
        position: relative;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        height: 100vh;
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-y.large-grid-frame {
        width: auto;
        overflow: hidden;
        position: relative;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        height: 100vh;
    }
}

.cell .grid-y.grid-frame {
    height: 100%;
}

@media print,
screen and (min-width: 40em) {
    .cell .grid-y.medium-grid-frame {
        height: 100%;
    }
}

@media print,
screen and (min-width: 64em) {
    .cell .grid-y.large-grid-frame {
        height: 100%;
    }
}

.grid-margin-y {
    margin-top: -0.625rem;
    margin-bottom: -0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y {
        margin-top: -0.9375rem;
        margin-bottom: -0.9375rem;
    }
}

.grid-margin-y>.cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem;
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y>.cell {
        height: calc(100% - 1.875rem);
        margin-top: 0.9375rem;
        margin-bottom: 0.9375rem;
    }
}

.grid-margin-y>.auto {
    height: auto;
}

.grid-margin-y>.shrink {
    height: auto;
}

.grid-margin-y>.small-1 {
    height: calc(8.33333% - 1.25rem);
}

.grid-margin-y>.small-2 {
    height: calc(16.66667% - 1.25rem);
}

.grid-margin-y>.small-3 {
    height: calc(25% - 1.25rem);
}

.grid-margin-y>.small-4 {
    height: calc(33.33333% - 1.25rem);
}

.grid-margin-y>.small-5 {
    height: calc(41.66667% - 1.25rem);
}

.grid-margin-y>.small-6 {
    height: calc(50% - 1.25rem);
}

.grid-margin-y>.small-7 {
    height: calc(58.33333% - 1.25rem);
}

.grid-margin-y>.small-8 {
    height: calc(66.66667% - 1.25rem);
}

.grid-margin-y>.small-9 {
    height: calc(75% - 1.25rem);
}

.grid-margin-y>.small-10 {
    height: calc(83.33333% - 1.25rem);
}

.grid-margin-y>.small-11 {
    height: calc(91.66667% - 1.25rem);
}

.grid-margin-y>.small-12 {
    height: calc(100% - 1.25rem);
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y>.auto {
        height: auto;
    }
    .grid-margin-y>.shrink {
        height: auto;
    }
    .grid-margin-y>.small-1 {
        height: calc(8.33333% - 1.875rem);
    }
    .grid-margin-y>.small-2 {
        height: calc(16.66667% - 1.875rem);
    }
    .grid-margin-y>.small-3 {
        height: calc(25% - 1.875rem);
    }
    .grid-margin-y>.small-4 {
        height: calc(33.33333% - 1.875rem);
    }
    .grid-margin-y>.small-5 {
        height: calc(41.66667% - 1.875rem);
    }
    .grid-margin-y>.small-6 {
        height: calc(50% - 1.875rem);
    }
    .grid-margin-y>.small-7 {
        height: calc(58.33333% - 1.875rem);
    }
    .grid-margin-y>.small-8 {
        height: calc(66.66667% - 1.875rem);
    }
    .grid-margin-y>.small-9 {
        height: calc(75% - 1.875rem);
    }
    .grid-margin-y>.small-10 {
        height: calc(83.33333% - 1.875rem);
    }
    .grid-margin-y>.small-11 {
        height: calc(91.66667% - 1.875rem);
    }
    .grid-margin-y>.small-12 {
        height: calc(100% - 1.875rem);
    }
    .grid-margin-y>.medium-auto {
        height: auto;
    }
    .grid-margin-y>.medium-shrink {
        height: auto;
    }
    .grid-margin-y>.medium-1 {
        height: calc(8.33333% - 1.875rem);
    }
    .grid-margin-y>.medium-2 {
        height: calc(16.66667% - 1.875rem);
    }
    .grid-margin-y>.medium-3 {
        height: calc(25% - 1.875rem);
    }
    .grid-margin-y>.medium-4 {
        height: calc(33.33333% - 1.875rem);
    }
    .grid-margin-y>.medium-5 {
        height: calc(41.66667% - 1.875rem);
    }
    .grid-margin-y>.medium-6 {
        height: calc(50% - 1.875rem);
    }
    .grid-margin-y>.medium-7 {
        height: calc(58.33333% - 1.875rem);
    }
    .grid-margin-y>.medium-8 {
        height: calc(66.66667% - 1.875rem);
    }
    .grid-margin-y>.medium-9 {
        height: calc(75% - 1.875rem);
    }
    .grid-margin-y>.medium-10 {
        height: calc(83.33333% - 1.875rem);
    }
    .grid-margin-y>.medium-11 {
        height: calc(91.66667% - 1.875rem);
    }
    .grid-margin-y>.medium-12 {
        height: calc(100% - 1.875rem);
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-y>.large-auto {
        height: auto;
    }
    .grid-margin-y>.large-shrink {
        height: auto;
    }
    .grid-margin-y>.large-1 {
        height: calc(8.33333% - 1.875rem);
    }
    .grid-margin-y>.large-2 {
        height: calc(16.66667% - 1.875rem);
    }
    .grid-margin-y>.large-3 {
        height: calc(25% - 1.875rem);
    }
    .grid-margin-y>.large-4 {
        height: calc(33.33333% - 1.875rem);
    }
    .grid-margin-y>.large-5 {
        height: calc(41.66667% - 1.875rem);
    }
    .grid-margin-y>.large-6 {
        height: calc(50% - 1.875rem);
    }
    .grid-margin-y>.large-7 {
        height: calc(58.33333% - 1.875rem);
    }
    .grid-margin-y>.large-8 {
        height: calc(66.66667% - 1.875rem);
    }
    .grid-margin-y>.large-9 {
        height: calc(75% - 1.875rem);
    }
    .grid-margin-y>.large-10 {
        height: calc(83.33333% - 1.875rem);
    }
    .grid-margin-y>.large-11 {
        height: calc(91.66667% - 1.875rem);
    }
    .grid-margin-y>.large-12 {
        height: calc(100% - 1.875rem);
    }
}

.grid-frame.grid-margin-y {
    height: calc(100vh + 1.25rem);
}

@media print,
screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
        height: calc(100vh + 1.875rem);
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
        height: calc(100vh + 1.875rem);
    }
}

@media print,
screen and (min-width: 40em) {
    .grid-margin-y.medium-grid-frame {
        height: calc(100vh + 1.875rem);
    }
}

@media print,
screen and (min-width: 64em) {
    .grid-margin-y.large-grid-frame {
        height: calc(100vh + 1.875rem);
    }
}

.button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 15.4px 27px;
    border: 1px solid transparent;
    border-radius: 3px;
    -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-family: "Teko", sans-serif;
    -webkit-appearance: none;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #991B1E;
    color: #fefefe;
}

[data-whatinput='mouse'] .button {
    outline: 0;
}

.button:hover,
.button:focus {
    background-color: #82171a;
    color: #fefefe;
}

.button.tiny {
    font-size: 0.6rem;
}

.button.small {
    font-size: 0.75rem;
}

.button.defaut {
    font-size: 16px;
}

.button.large {
    font-size: 1.25rem;
}

.button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.button.primary {
    background-color: #991B1E;
    color: #fefefe;
}

.button.primary:hover,
.button.primary:focus {
    background-color: #7a1618;
    color: #fefefe;
}

.button.secondary {
    background-color: #212121;
    color: #fefefe;
}

.button.secondary:hover,
.button.secondary:focus {
    background-color: #1a1a1a;
    color: #fefefe;
}

.button.success {
    background-color: #3adb76;
    color: #0a0a0a;
}

.button.success:hover,
.button.success:focus {
    background-color: #22bb5b;
    color: #0a0a0a;
}

.button.warning {
    background-color: #cc8b00;
    color: #0a0a0a;
}

.button.warning:hover,
.button.warning:focus {
    background-color: #a36f00;
    color: #0a0a0a;
}

.button.alert {
    background-color: #cc4b37;
    color: #fefefe;
}

.button.alert:hover,
.button.alert:focus {
    background-color: #a53b2a;
    color: #fefefe;
}

.button.disabled,
.button[disabled] {
    opacity: 0.25;
    cursor: not-allowed;
}

.button.disabled,
.button.disabled:hover,
.button.disabled:focus,
.button[disabled],
.button[disabled]:hover,
.button[disabled]:focus {
    background-color: #991B1E;
    color: #fefefe;
}

.button.disabled.primary,
.button[disabled].primary {
    opacity: 0.25;
    cursor: not-allowed;
}

.button.disabled.primary,
.button.disabled.primary:hover,
.button.disabled.primary:focus,
.button[disabled].primary,
.button[disabled].primary:hover,
.button[disabled].primary:focus {
    background-color: #991B1E;
    color: #fefefe;
}

.button.disabled.secondary,
.button[disabled].secondary {
    opacity: 0.25;
    cursor: not-allowed;
}

.button.disabled.secondary,
.button.disabled.secondary:hover,
.button.disabled.secondary:focus,
.button[disabled].secondary,
.button[disabled].secondary:hover,
.button[disabled].secondary:focus {
    background-color: #212121;
    color: #fefefe;
}

.button.disabled.success,
.button[disabled].success {
    opacity: 0.25;
    cursor: not-allowed;
}

.button.disabled.success,
.button.disabled.success:hover,
.button.disabled.success:focus,
.button[disabled].success,
.button[disabled].success:hover,
.button[disabled].success:focus {
    background-color: #3adb76;
    color: #0a0a0a;
}

.button.disabled.warning,
.button[disabled].warning {
    opacity: 0.25;
    cursor: not-allowed;
}

.button.disabled.warning,
.button.disabled.warning:hover,
.button.disabled.warning:focus,
.button[disabled].warning,
.button[disabled].warning:hover,
.button[disabled].warning:focus {
    background-color: #cc8b00;
    color: #0a0a0a;
}

.button.disabled.alert,
.button[disabled].alert {
    opacity: 0.25;
    cursor: not-allowed;
}

.button.disabled.alert,
.button.disabled.alert:hover,
.button.disabled.alert:focus,
.button[disabled].alert,
.button[disabled].alert:hover,
.button[disabled].alert:focus {
    background-color: #cc4b37;
    color: #fefefe;
}

.button.hollow {
    border: 1px solid #991B1E;
    color: #991B1E;
}

.button.hollow,
.button.hollow:hover,
.button.hollow:focus {
    background-color: transparent;
}

.button.hollow.disabled,
.button.hollow.disabled:hover,
.button.hollow.disabled:focus,
.button.hollow[disabled],
.button.hollow[disabled]:hover,
.button.hollow[disabled]:focus {
    background-color: transparent;
}

.button.hollow:hover,
.button.hollow:focus {
    border-color: #4d0e0f;
    color: #4d0e0f;
}

.button.hollow:hover.disabled,
.button.hollow:hover[disabled],
.button.hollow:focus.disabled,
.button.hollow:focus[disabled] {
    border: 1px solid #991B1E;
    color: #991B1E;
}

.button.hollow.primary {
    border: 1px solid #991B1E;
    color: #991B1E;
}

.button.hollow.primary:hover,
.button.hollow.primary:focus {
    border-color: #4d0e0f;
    color: #4d0e0f;
}

.button.hollow.primary:hover.disabled,
.button.hollow.primary:hover[disabled],
.button.hollow.primary:focus.disabled,
.button.hollow.primary:focus[disabled] {
    border: 1px solid #991B1E;
    color: #991B1E;
}

.button.hollow.secondary {
    border: 1px solid #212121;
    color: #212121;
}

.button.hollow.secondary:hover,
.button.hollow.secondary:focus {
    border-color: #111111;
    color: #111111;
}

.button.hollow.secondary:hover.disabled,
.button.hollow.secondary:hover[disabled],
.button.hollow.secondary:focus.disabled,
.button.hollow.secondary:focus[disabled] {
    border: 1px solid #212121;
    color: #212121;
}

.button.hollow.success {
    border: 1px solid #3adb76;
    color: #3adb76;
}

.button.hollow.success:hover,
.button.hollow.success:focus {
    border-color: #157539;
    color: #157539;
}

.button.hollow.success:hover.disabled,
.button.hollow.success:hover[disabled],
.button.hollow.success:focus.disabled,
.button.hollow.success:focus[disabled] {
    border: 1px solid #3adb76;
    color: #3adb76;
}

.button.hollow.warning {
    border: 1px solid #cc8b00;
    color: #cc8b00;
}

.button.hollow.warning:hover,
.button.hollow.warning:focus {
    border-color: #664600;
    color: #664600;
}

.button.hollow.warning:hover.disabled,
.button.hollow.warning:hover[disabled],
.button.hollow.warning:focus.disabled,
.button.hollow.warning:focus[disabled] {
    border: 1px solid #cc8b00;
    color: #cc8b00;
}

.button.hollow.alert {
    border: 1px solid #cc4b37;
    color: #cc4b37;
}

.button.hollow.alert:hover,
.button.hollow.alert:focus {
    border-color: #67251a;
    color: #67251a;
}

.button.hollow.alert:hover.disabled,
.button.hollow.alert:hover[disabled],
.button.hollow.alert:focus.disabled,
.button.hollow.alert:focus[disabled] {
    border: 1px solid #cc4b37;
    color: #cc4b37;
}

.button.clear {
    border: 1px solid #991B1E;
    color: #991B1E;
}

.button.clear,
.button.clear:hover,
.button.clear:focus {
    background-color: transparent;
}

.button.clear.disabled,
.button.clear.disabled:hover,
.button.clear.disabled:focus,
.button.clear[disabled],
.button.clear[disabled]:hover,
.button.clear[disabled]:focus {
    background-color: transparent;
}

.button.clear:hover,
.button.clear:focus {
    border-color: #4d0e0f;
    color: #4d0e0f;
}

.button.clear:hover.disabled,
.button.clear:hover[disabled],
.button.clear:focus.disabled,
.button.clear:focus[disabled] {
    border: 1px solid #991B1E;
    color: #991B1E;
}

.button.clear,
.button.clear.disabled,
.button.clear[disabled],
.button.clear:hover,
.button.clear:hover.disabled,
.button.clear:hover[disabled],
.button.clear:focus,
.button.clear:focus.disabled,
.button.clear:focus[disabled] {
    border-color: transparent;
}

.button.clear.primary {
    border: 1px solid #991B1E;
    color: #991B1E;
}

.button.clear.primary:hover,
.button.clear.primary:focus {
    border-color: #4d0e0f;
    color: #4d0e0f;
}

.button.clear.primary:hover.disabled,
.button.clear.primary:hover[disabled],
.button.clear.primary:focus.disabled,
.button.clear.primary:focus[disabled] {
    border: 1px solid #991B1E;
    color: #991B1E;
}

.button.clear.primary,
.button.clear.primary.disabled,
.button.clear.primary[disabled],
.button.clear.primary:hover,
.button.clear.primary:hover.disabled,
.button.clear.primary:hover[disabled],
.button.clear.primary:focus,
.button.clear.primary:focus.disabled,
.button.clear.primary:focus[disabled] {
    border-color: transparent;
}

.button.clear.secondary {
    border: 1px solid #212121;
    color: #212121;
}

.button.clear.secondary:hover,
.button.clear.secondary:focus {
    border-color: #111111;
    color: #111111;
}

.button.clear.secondary:hover.disabled,
.button.clear.secondary:hover[disabled],
.button.clear.secondary:focus.disabled,
.button.clear.secondary:focus[disabled] {
    border: 1px solid #212121;
    color: #212121;
}

.button.clear.secondary,
.button.clear.secondary.disabled,
.button.clear.secondary[disabled],
.button.clear.secondary:hover,
.button.clear.secondary:hover.disabled,
.button.clear.secondary:hover[disabled],
.button.clear.secondary:focus,
.button.clear.secondary:focus.disabled,
.button.clear.secondary:focus[disabled] {
    border-color: transparent;
}

.button.clear.success {
    border: 1px solid #3adb76;
    color: #3adb76;
}

.button.clear.success:hover,
.button.clear.success:focus {
    border-color: #157539;
    color: #157539;
}

.button.clear.success:hover.disabled,
.button.clear.success:hover[disabled],
.button.clear.success:focus.disabled,
.button.clear.success:focus[disabled] {
    border: 1px solid #3adb76;
    color: #3adb76;
}

.button.clear.success,
.button.clear.success.disabled,
.button.clear.success[disabled],
.button.clear.success:hover,
.button.clear.success:hover.disabled,
.button.clear.success:hover[disabled],
.button.clear.success:focus,
.button.clear.success:focus.disabled,
.button.clear.success:focus[disabled] {
    border-color: transparent;
}

.button.clear.warning {
    border: 1px solid #cc8b00;
    color: #cc8b00;
}

.button.clear.warning:hover,
.button.clear.warning:focus {
    border-color: #664600;
    color: #664600;
}

.button.clear.warning:hover.disabled,
.button.clear.warning:hover[disabled],
.button.clear.warning:focus.disabled,
.button.clear.warning:focus[disabled] {
    border: 1px solid #cc8b00;
    color: #cc8b00;
}

.button.clear.warning,
.button.clear.warning.disabled,
.button.clear.warning[disabled],
.button.clear.warning:hover,
.button.clear.warning:hover.disabled,
.button.clear.warning:hover[disabled],
.button.clear.warning:focus,
.button.clear.warning:focus.disabled,
.button.clear.warning:focus[disabled] {
    border-color: transparent;
}

.button.clear.alert {
    border: 1px solid #cc4b37;
    color: #cc4b37;
}

.button.clear.alert:hover,
.button.clear.alert:focus {
    border-color: #67251a;
    color: #67251a;
}

.button.clear.alert:hover.disabled,
.button.clear.alert:hover[disabled],
.button.clear.alert:focus.disabled,
.button.clear.alert:focus[disabled] {
    border: 1px solid #cc4b37;
    color: #cc4b37;
}

.button.clear.alert,
.button.clear.alert.disabled,
.button.clear.alert[disabled],
.button.clear.alert:hover,
.button.clear.alert:hover.disabled,
.button.clear.alert:hover[disabled],
.button.clear.alert:focus,
.button.clear.alert:focus.disabled,
.button.clear.alert:focus[disabled] {
    border-color: transparent;
}

.button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 27px;
}

.button.dropdown.hollow::after,
.button.dropdown.clear::after {
    border-top-color: #991B1E;
}

.button.dropdown.hollow.primary::after,
.button.dropdown.clear.primary::after {
    border-top-color: #991B1E;
}

.button.dropdown.hollow.secondary::after,
.button.dropdown.clear.secondary::after {
    border-top-color: #212121;
}

.button.dropdown.hollow.success::after,
.button.dropdown.clear.success::after {
    border-top-color: #3adb76;
}

.button.dropdown.hollow.warning::after,
.button.dropdown.clear.warning::after {
    border-top-color: #cc8b00;
}

.button.dropdown.hollow.alert::after,
.button.dropdown.clear.alert::after {
    border-top-color: #cc4b37;
}

.button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0;
}

a.button:hover,
a.button:focus {
    text-decoration: none;
}

.button-group {
    margin-bottom: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.button-group::before,
.button-group::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.button-group::after {
    clear: both;
}

.button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.button-group .button:last-child {
    margin-right: 0;
}

.button-group.tiny .button {
    font-size: 0.6rem;
}

.button-group.small .button {
    font-size: 0.75rem;
}

.button-group.defaut .button {
    font-size: 16px;
}

.button-group.large .button {
    font-size: 1.25rem;
}

.button-group.expanded .button {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
}

.button-group.primary .button {
    background-color: #991B1E;
    color: #fefefe;
}

.button-group.primary .button:hover,
.button-group.primary .button:focus {
    background-color: #7a1618;
    color: #fefefe;
}

.button-group.secondary .button {
    background-color: #212121;
    color: #fefefe;
}

.button-group.secondary .button:hover,
.button-group.secondary .button:focus {
    background-color: #1a1a1a;
    color: #fefefe;
}

.button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a;
}

.button-group.success .button:hover,
.button-group.success .button:focus {
    background-color: #22bb5b;
    color: #0a0a0a;
}

.button-group.warning .button {
    background-color: #cc8b00;
    color: #0a0a0a;
}

.button-group.warning .button:hover,
.button-group.warning .button:focus {
    background-color: #a36f00;
    color: #0a0a0a;
}

.button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe;
}

.button-group.alert .button:hover,
.button-group.alert .button:focus {
    background-color: #a53b2a;
    color: #fefefe;
}

.button-group.stacked,
.button-group.stacked-for-small,
.button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.button-group.stacked .button,
.button-group.stacked-for-small .button,
.button-group.stacked-for-medium .button {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
}

.button-group.stacked .button:last-child,
.button-group.stacked-for-small .button:last-child,
.button-group.stacked-for-medium .button:last-child {
    margin-bottom: 0;
}

.button-group.stacked.expanded .button,
.button-group.stacked-for-small.expanded .button,
.button-group.stacked-for-medium.expanded .button {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
}

@media print,
screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        margin-bottom: 0;
    }
}

@media print,
screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 39.99875em) {
    .button-group.stacked-for-small.expanded {
        display: block;
    }
    .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0;
    }
}

@media screen and (max-width: 63.99875em) {
    .button-group.stacked-for-medium.expanded {
        display: block;
    }
    .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0;
    }
}

.close-button {
    position: absolute;
    color: #8a8a8a;
    cursor: pointer;
}

[data-whatinput='mouse'] .close-button {
    outline: 0;
}

.close-button:hover,
.close-button:focus {
    color: #0a0a0a;
}

.close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1;
}

.close-button,
.close-button.medium {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1;
}

.label {
    display: inline-block;
    padding: 0.33333rem 0.5rem;
    border-radius: 0;
    font-size: 0.8rem;
    line-height: 1;
    white-space: nowrap;
    cursor: default;
    background: #991B1E;
    color: #fefefe;
}

.label.primary {
    background: #991B1E;
    color: #fefefe;
}

.label.secondary {
    background: #212121;
    color: #fefefe;
}

.label.success {
    background: #3adb76;
    color: #0a0a0a;
}

.label.warning {
    background: #cc8b00;
    color: #0a0a0a;
}

.label.alert {
    background: #cc4b37;
    color: #fefefe;
}

.progress {
    height: 1rem;
    margin-bottom: 1rem;
    border-radius: 0;
    background-color: #cacaca;
}

.progress.primary .progress-meter {
    background-color: #991B1E;
}

.progress.secondary .progress-meter {
    background-color: #212121;
}

.progress.success .progress-meter {
    background-color: #3adb76;
}

.progress.warning .progress-meter {
    background-color: #cc8b00;
}

.progress.alert .progress-meter {
    background-color: #cc4b37;
}

.progress-meter {
    position: relative;
    display: block;
    width: 0%;
    height: 100%;
    background-color: #991B1E;
}

.progress-meter-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0;
    font-size: 0.75rem;
    font-weight: bold;
    color: #fefefe;
    white-space: nowrap;
}

.slider {
    position: relative;
    height: 0.5rem;
    margin-top: 1.25rem;
    margin-bottom: 2.25rem;
    background-color: #e6e6e6;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: none;
    touch-action: none;
}

.slider-fill {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    max-width: 100%;
    height: 0.5rem;
    background-color: #cacaca;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.slider-fill.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear;
}

.slider-handle {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    z-index: 1;
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 0;
    background-color: #991B1E;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

[data-whatinput='mouse'] .slider-handle {
    outline: 0;
}

.slider-handle:hover {
    background-color: #82171a;
}

.slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    transition: all 0s linear;
}

.slider.disabled,
.slider[disabled] {
    opacity: 0.25;
    cursor: not-allowed;
}

.slider.vertical {
    display: inline-block;
    width: 0.5rem;
    height: 12.5rem;
    margin: 0 1.25rem;
    -webkit-transform: scale(1, -1);
    transform: scale(1, -1);
}

.slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%;
}

.slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.switch {
    height: 2rem;
    position: relative;
    margin-bottom: 1rem;
    outline: 0;
    font-size: 0.875rem;
    font-weight: bold;
    color: #fefefe;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.switch-input {
    position: absolute;
    margin-bottom: 0;
    opacity: 0;
}

.switch-paddle {
    position: relative;
    display: block;
    width: 4rem;
    height: 2rem;
    border-radius: 0;
    background: #cacaca;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    font-weight: inherit;
    color: inherit;
    cursor: pointer;
}

input+.switch-paddle {
    margin: 0;
}

.switch-paddle::after {
    position: absolute;
    top: 0.25rem;
    left: 0.25rem;
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #fefefe;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: '';
}

input:checked~.switch-paddle {
    background: #991B1E;
}

input:checked~.switch-paddle::after {
    left: 2.25rem;
}

[data-whatinput='mouse'] input:focus~.switch-paddle {
    outline: 0;
}

.switch-active,
.switch-inactive {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.switch-active {
    left: 8%;
    display: none;
}

input:checked+label>.switch-active {
    display: block;
}

.switch-inactive {
    right: 15%;
}

input:checked+label>.switch-inactive {
    display: none;
}

.switch.tiny {
    height: 1.5rem;
}

.switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem;
}

.switch.tiny .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1rem;
    height: 1rem;
}

.switch.tiny input:checked~.switch-paddle::after {
    left: 1.75rem;
}

.switch.small {
    height: 1.75rem;
}

.switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem;
}

.switch.small .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 1.25rem;
    height: 1.25rem;
}

.switch.small input:checked~.switch-paddle::after {
    left: 2rem;
}

.switch.large {
    height: 2.5rem;
}

.switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem;
}

.switch.large .switch-paddle::after {
    top: 0.25rem;
    left: 0.25rem;
    width: 2rem;
    height: 2rem;
}

.switch.large input:checked~.switch-paddle::after {
    left: 2.75rem;
}

table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1rem;
    border-radius: 0;
}

thead,
tbody,
tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe;
}

caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
}

thead {
    background: #f8f8f8;
    color: #0a0a0a;
}

tfoot {
    background: #f1f1f1;
    color: #0a0a0a;
}

thead tr,
tfoot tr {
    background: transparent;
}

thead th,
thead td,
tfoot th,
tfoot td {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold;
    text-align: left;
}

tbody th,
tbody td {
    padding: 0.5rem 0.625rem 0.625rem;
}

tbody tr:nth-child(even) {
    border-bottom: 0;
    background-color: #f1f1f1;
}

table.unstriped tbody {
    background-color: #fefefe;
}

table.unstriped tbody tr {
    border-bottom: 0;
    border-bottom: 1px solid #f1f1f1;
    background-color: #fefefe;
}

@media screen and (max-width: 63.99875em) {
    table.stack thead {
        display: none;
    }
    table.stack tfoot {
        display: none;
    }
    table.stack tr,
    table.stack th,
    table.stack td {
        display: block;
    }
    table.stack td {
        border-top: 0;
    }
}

table.scroll {
    display: block;
    width: 100%;
    overflow-x: auto;
}

table.hover thead tr:hover {
    background-color: #f3f3f3;
}

table.hover tfoot tr:hover {
    background-color: #ececec;
}

table.hover tbody tr:hover {
    background-color: #f9f9f9;
}

table.hover:not(.unstriped) tr:nth-of-type(even):hover {
    background-color: #ececec;
}

.table-scroll {
    overflow-x: auto;
}

.badge {
    display: inline-block;
    min-width: 2.1em;
    padding: 0.3em;
    border-radius: 50%;
    font-size: 0.6rem;
    text-align: center;
    background: #991B1E;
    color: #fefefe;
}

.badge.primary {
    background: #991B1E;
    color: #fefefe;
}

.badge.secondary {
    background: #212121;
    color: #fefefe;
}

.badge.success {
    background: #3adb76;
    color: #0a0a0a;
}

.badge.warning {
    background: #cc8b00;
    color: #0a0a0a;
}

.badge.alert {
    background: #cc4b37;
    color: #fefefe;
}

.breadcrumbs {
    margin: 0 0 1rem 0;
    list-style: none;
}

.breadcrumbs::before,
.breadcrumbs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.breadcrumbs::after {
    clear: both;
}

.breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase;
}

.breadcrumbs li:not(:last-child)::after {
    position: relative;
    margin: 0 0.75rem;
    opacity: 1;
    content: "/";
    color: #cacaca;
}

.breadcrumbs a {
    color: #991B1E;
}

.breadcrumbs a:hover {
    text-decoration: underline;
}

.breadcrumbs .disabled {
    color: #cacaca;
    cursor: not-allowed;
}

.callout {
    position: relative;
    margin: 0 0 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(10, 10, 10, 0.25);
    border-radius: 0;
    background-color: white;
    color: #0a0a0a;
}

.callout> :first-child {
    margin-top: 0;
}

.callout> :last-child {
    margin-bottom: 0;
}

.callout.primary {
    background-color: #f8d5d6;
    color: #0a0a0a;
}

.callout.secondary {
    background-color: #dedede;
    color: #0a0a0a;
}

.callout.success {
    background-color: #e1faea;
    color: #0a0a0a;
}

.callout.warning {
    background-color: #fff0d1;
    color: #0a0a0a;
}

.callout.alert {
    background-color: #f7e4e1;
    color: #0a0a0a;
}

.callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem;
}

.callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem;
}

.card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-bottom: 1rem;
    border: 1px solid #e6e6e6;
    border-radius: 0;
    background: #fefefe;
    -webkit-box-shadow: none;
    box-shadow: none;
    overflow: hidden;
    color: #0a0a0a;
}

.card> :last-child {
    margin-bottom: 0;
}

.card-divider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    padding: 1rem;
    background: #e6e6e6;
}

.card-divider> :last-child {
    margin-bottom: 0;
}

.card-section {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    padding: 1rem;
}

.card-section> :last-child {
    margin-bottom: 0;
}

.card-image {
    min-height: 1px;
}

.dropdown-pane {
    position: absolute;
    z-index: 10;
    display: none;
    width: 300px;
    padding: 1rem;
    visibility: hidden;
    border: 1px solid #cacaca;
    border-radius: 0;
    background-color: #fefefe;
    font-size: 1rem;
}

.dropdown-pane.is-opening {
    display: block;
}

.dropdown-pane.is-open {
    display: block;
    visibility: visible;
}

.dropdown-pane.tiny {
    width: 100px;
}

.dropdown-pane.small {
    width: 200px;
}

.dropdown-pane.large {
    width: 400px;
}

.pagination {
    margin-left: 0;
    margin-bottom: 1rem;
}

.pagination::before,
.pagination::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.pagination::after {
    clear: both;
}

.pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none;
}

.pagination li:last-child,
.pagination li:first-child {
    display: inline-block;
}

@media print,
screen and (min-width: 40em) {
    .pagination li {
        display: inline-block;
    }
}

.pagination a,
.pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #0a0a0a;
}

.pagination a:hover,
.pagination button:hover {
    background: #e6e6e6;
}

.pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #991B1E;
    color: #fefefe;
    cursor: default;
}

.pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed;
}

.pagination .disabled:hover {
    background: transparent;
}

.pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #0a0a0a;
}

.pagination-previous a::before,
.pagination-previous.disabled::before {
    display: inline-block;
    margin-right: 0.5rem;
    content: '\00ab';
}

.pagination-next a::after,
.pagination-next.disabled::after {
    display: inline-block;
    margin-left: 0.5rem;
    content: '\00bb';
}

.has-tip {
    position: relative;
    display: inline-block;
    border-bottom: dotted 1px #8a8a8a;
    font-weight: bold;
    cursor: help;
}

.tooltip {
    position: absolute;
    top: calc(100% + 0.6495rem);
    z-index: 1200;
    max-width: 10rem;
    padding: 0.75rem;
    border-radius: 0;
    background-color: #0a0a0a;
    font-size: 80%;
    color: #fefefe;
}

.tooltip::before {
    position: absolute;
}

.tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    bottom: 100%;
}

.tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
    top: 100%;
    bottom: auto;
}

.tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
    left: 100%;
}

.tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
    right: 100%;
    left: auto;
}

.tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.tooltip.align-top::before {
    bottom: auto;
    top: 10%;
}

.tooltip.align-bottom::before {
    bottom: 10%;
    top: auto;
}

.tooltip.align-left::before {
    left: 10%;
    right: auto;
}

.tooltip.align-right::before {
    left: auto;
    right: 10%;
}

.accordion {
    margin-left: 0;
    background: #fefefe;
    list-style-type: none;
}

.accordion[disabled] .accordion-title {
    cursor: not-allowed;
}

.accordion-item:first-child> :first-child {
    border-radius: 0 0 0 0;
}

.accordion-item:last-child> :last-child {
    border-radius: 0 0 0 0;
}

.accordion-title {
    position: relative;
    display: block;
    padding: 1.25rem 1rem;
    border: 1px solid #e6e6e6;
    border-bottom: 0;
    font-size: 0.75rem;
    line-height: 1;
    color: #991B1E;
}

:last-child:not(.is-active)>.accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0;
}

.accordion-title:hover,
.accordion-title:focus {
    background-color: #e6e6e6;
}

.accordion-title::before {
    position: absolute;
    top: 50%;
    right: 1rem;
    margin-top: -0.5rem;
    content: '+';
}

.is-active>.accordion-title::before {
    content: '\2013';
}

.accordion-content {
    display: none;
    padding: 1rem;
    border: 1px solid #e6e6e6;
    border-bottom: 0;
    background-color: #fefefe;
    color: #0a0a0a;
}

:last-child>.accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6;
}

.media-object {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1rem;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.media-object img {
    max-width: none;
}

@media screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.media-object-section {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.media-object-section:first-child {
    padding-right: 1rem;
}

.media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem;
}

.media-object-section> :last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
        padding: 0;
        padding-bottom: 1rem;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }
    .stack-for-small .media-object-section img {
        width: 100%;
    }
}

.media-object-section.main-section {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
}

.orbit {
    position: relative;
}

.orbit-container {
    position: relative;
    height: 0;
    margin: 0;
    list-style: none;
    overflow: hidden;
}

.orbit-slide {
    width: 100%;
    position: absolute;
}

.orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0;
}

.orbit-figure {
    margin: 0;
}

.orbit-image {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.orbit-caption {
    position: absolute;
    bottom: 0;
    width: 100%;
    margin-bottom: 0;
    padding: 1rem;
    background-color: rgba(10, 10, 10, 0.5);
    color: #fefefe;
}

.orbit-previous,
.orbit-next {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
    padding: 1rem;
    color: #fefefe;
}

[data-whatinput='mouse'] .orbit-previous,
[data-whatinput='mouse'] .orbit-next {
    outline: 0;
}

.orbit-previous:hover,
.orbit-next:hover,
.orbit-previous:active,
.orbit-next:active,
.orbit-previous:focus,
.orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5);
}

.orbit-previous {
    left: 0;
}

.orbit-next {
    left: auto;
    right: 0;
}

.orbit-bullets {
    position: relative;
    margin-top: 0.8rem;
    margin-bottom: 0.8rem;
    text-align: center;
}

[data-whatinput='mouse'] .orbit-bullets {
    outline: 0;
}

.orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    border-radius: 50%;
    background-color: #cacaca;
}

.orbit-bullets button:hover {
    background-color: #8a8a8a;
}

.orbit-bullets button.is-active {
    background-color: #8a8a8a;
}

.responsive-embed,
.flex-video {
    position: relative;
    height: 0;
    margin-bottom: 1rem;
    padding-bottom: 75%;
    overflow: hidden;
}

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

.responsive-embed.widescreen,
.flex-video.widescreen {
    padding-bottom: 56.25%;
}

.tabs {
    margin: 0;
    border: 1px solid #e6e6e6;
    background: #fefefe;
    list-style-type: none;
}

.tabs::before,
.tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.tabs::after {
    clear: both;
}

.tabs.vertical>li {
    display: block;
    float: none;
    width: auto;
}

.tabs.simple>li>a {
    padding: 0;
}

.tabs.simple>li>a:hover {
    background: transparent;
}

.tabs.primary {
    background: #991B1E;
}

.tabs.primary>li>a {
    color: #fefefe;
}

.tabs.primary>li>a:hover,
.tabs.primary>li>a:focus {
    background: #a71d21;
}

.tabs-title {
    float: left;
}

.tabs-title>a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #991B1E;
}

[data-whatinput='mouse'] .tabs-title>a {
    outline: 0;
}

.tabs-title>a:hover {
    background: #fefefe;
    color: #84171a;
}

.tabs-title>a:focus,
.tabs-title>a[aria-selected='true'] {
    background: #e6e6e6;
    color: #991B1E;
}

.tabs-content {
    border: 1px solid #e6e6e6;
    border-top: 0;
    background: #fefefe;
    color: #0a0a0a;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.tabs-content.vertical {
    border: 1px solid #e6e6e6;
    border-left: 0;
}

.tabs-panel {
    display: none;
    padding: 1rem;
}

.tabs-panel.is-active {
    display: block;
}

.thumbnail {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: 4px solid #fefefe;
    border-radius: 0;
    -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
    box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
    line-height: 0;
}

a.thumbnail {
    -webkit-transition: -webkit-box-shadow 200ms ease-out;
    transition: -webkit-box-shadow 200ms ease-out;
    transition: box-shadow 200ms ease-out;
    transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out;
}

a.thumbnail:hover,
a.thumbnail:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(153, 27, 30, 0.5);
    box-shadow: 0 0 6px 1px rgba(153, 27, 30, 0.5);
}

a.thumbnail image {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.menu {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-whatinput='mouse'] .menu li {
    outline: 0;
}

.menu a,
.menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem;
}

.menu input,
.menu select,
.menu a,
.menu button {
    margin-bottom: 0;
}

.menu input {
    display: inline-block;
}

.menu,
.menu.horizontal {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.menu.vertical {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.menu.expanded li {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
}

.menu.simple {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.menu.simple li+li {
    margin-left: 1rem;
}

.menu.simple a {
    padding: 0;
}

@media print,
screen and (min-width: 40em) {
    .menu.medium-horizontal {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .menu.medium-vertical {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .menu.medium-expanded li {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    }
    .menu.medium-simple li {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    }
}

@media print,
screen and (min-width: 64em) {
    .menu.large-horizontal {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .menu.large-vertical {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .menu.large-expanded li {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    }
    .menu.large-simple li {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
    }
}

.menu.nested {
    margin-right: 0;
    margin-left: 1rem;
}

.menu.icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.menu.icon-top a,
.menu.icon-right a,
.menu.icon-bottom a,
.menu.icon-left a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.menu.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
}

.menu.icon-left li a img,
.menu.icon-left li a i,
.menu.icon-left li a svg {
    margin-right: 0.25rem;
}

.menu.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
}

.menu.icon-right li a img,
.menu.icon-right li a i,
.menu.icon-right li a svg {
    margin-left: 0.25rem;
}

.menu.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
}

.menu.icon-top li a img,
.menu.icon-top li a i,
.menu.icon-top li a svg {
    -ms-flex-item-align: stretch;
    align-self: stretch;
    margin-bottom: 0.25rem;
    text-align: center;
}

.menu.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
}

.menu.icon-bottom li a img,
.menu.icon-bottom li a i,
.menu.icon-bottom li a svg {
    -ms-flex-item-align: stretch;
    align-self: stretch;
    margin-bottom: 0.25rem;
    text-align: center;
}

.menu .is-active>a {
    background: #991B1E;
    color: #fefefe;
}

.menu .active>a {
    background: #991B1E;
    color: #fefefe;
}

.menu.align-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.menu.align-right li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.menu.align-right li .submenu li {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.menu.align-right.vertical li {
    display: block;
    text-align: right;
}

.menu.align-right.vertical li .submenu li {
    text-align: right;
}

.menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0;
}

.menu.align-center li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.menu.align-center li .submenu li {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.menu .menu-text {
    padding: 0.7rem 1rem;
    font-weight: bold;
    line-height: 1;
    color: inherit;
}

.menu-centered>.menu {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.menu-centered>.menu li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.menu-centered>.menu li .submenu li {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.no-js [data-responsive-menu] ul {
    display: none;
}

.menu-icon {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 16px;
    cursor: pointer;
}

.menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
    content: '';
}

.menu-icon:hover::after {
    background: #cacaca;
    -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
}

.menu-icon.dark {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 16px;
    cursor: pointer;
}

.menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #0a0a0a;
    -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
    content: '';
}

.menu-icon.dark:hover::after {
    background: #8a8a8a;
    -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
}

.accordion-menu li {
    width: 100%;
}

.accordion-menu a {
    padding: 0.7rem 1rem;
}

.accordion-menu .is-accordion-submenu a {
    padding: 0.7rem 1rem;
}

.accordion-menu .nested.is-accordion-submenu {
    margin-right: 0;
    margin-left: 1rem;
}

.accordion-menu.align-right .nested.is-accordion-submenu {
    margin-right: 1rem;
    margin-left: 0;
}

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a {
    position: relative;
}

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle)>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem;
}

.accordion-menu.align-left .is-accordion-submenu-parent>a::after {
    right: 1rem;
    left: auto;
}

.accordion-menu.align-right .is-accordion-submenu-parent>a::after {
    right: auto;
    left: 1rem;
}

.accordion-menu .is-accordion-submenu-parent[aria-expanded='true']>a::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

.is-accordion-submenu-parent {
    position: relative;
}

.has-submenu-toggle>a {
    margin-right: 40px;
}

.submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto;
}

.submenu-toggle[aria-expanded='true']::after {
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

.submenu-toggle-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.is-drilldown {
    position: relative;
    overflow: hidden;
}

.is-drilldown li {
    display: block;
}

.is-drilldown.animate-height {
    -webkit-transition: height 0.5s;
    transition: height 0.5s;
}

.drilldown a {
    padding: 0.7rem 1rem;
    background: #fefefe;
}

.drilldown .is-drilldown-submenu {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: -1;
    width: 100%;
    background: #fefefe;
    -webkit-transition: -webkit-transform 0.15s linear;
    transition: -webkit-transform 0.15s linear;
    transition: transform 0.15s linear;
    transition: transform 0.15s linear, -webkit-transform 0.15s linear;
}

.drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
}

.drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

.drilldown .is-drilldown-submenu a {
    padding: 0.7rem 1rem;
}

.drilldown .nested.is-drilldown-submenu {
    margin-right: 0;
    margin-left: 0;
}

.drilldown .drilldown-submenu-cover-previous {
    min-height: 100%;
}

.drilldown .is-drilldown-submenu-parent>a {
    position: relative;
}

.drilldown .is-drilldown-submenu-parent>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem;
}

.drilldown.align-left .is-drilldown-submenu-parent>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
    right: 1rem;
    left: auto;
}

.drilldown.align-right .is-drilldown-submenu-parent>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 1rem;
}

.drilldown .js-drilldown-back>a::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.75rem;
}

.dropdown.menu>li.opens-left>.is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto;
}

.dropdown.menu>li.opens-right>.is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0;
}

.dropdown.menu>li.is-dropdown-submenu-parent>a {
    position: relative;
    padding-right: 1.5rem;
}

.dropdown.menu>li.is-dropdown-submenu-parent>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #991B1E transparent transparent;
    right: 5px;
    left: auto;
    margin-top: -3px;
}

[data-whatinput='mouse'] .dropdown.menu a {
    outline: 0;
}

.dropdown.menu>li>a {
    padding: 0.7rem 1rem;
}

.dropdown.menu>li.is-active>a {
    background: transparent;
    color: #991B1E;
}

.no-js .dropdown.menu ul {
    display: none;
}

.dropdown.menu .nested.is-dropdown-submenu {
    margin-right: 0;
    margin-left: 0;
}

.dropdown.menu.vertical>li .is-dropdown-submenu {
    top: 0;
}

.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto;
}

.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu {
    right: auto;
    left: 100%;
}

.dropdown.menu.vertical>li>a::after {
    right: 14px;
}

.dropdown.menu.vertical>li.opens-left>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
}

.dropdown.menu.vertical>li.opens-right>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
}

@media print,
screen and (min-width: 40em) {
    .dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu {
        top: 100%;
        right: 0;
        left: auto;
    }
    .dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu {
        top: 100%;
        right: auto;
        left: 0;
    }
    .dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a {
        position: relative;
        padding-right: 1.5rem;
    }
    .dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a::after {
        display: block;
        width: 0;
        height: 0;
        border: inset 6px;
        content: '';
        border-bottom-width: 0;
        border-top-style: solid;
        border-color: #991B1E transparent transparent;
        right: 5px;
        left: auto;
        margin-top: -3px;
    }
    .dropdown.menu.medium-vertical>li .is-dropdown-submenu {
        top: 0;
    }
    .dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu {
        top: 0;
        right: 100%;
        left: auto;
    }
    .dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu {
        right: auto;
        left: 100%;
    }
    .dropdown.menu.medium-vertical>li>a::after {
        right: 14px;
    }
    .dropdown.menu.medium-vertical>li.opens-left>a::after {
        display: block;
        width: 0;
        height: 0;
        border: inset 6px;
        content: '';
        border-left-width: 0;
        border-right-style: solid;
        border-color: transparent #991B1E transparent transparent;
        right: auto;
        left: 5px;
    }
    .dropdown.menu.medium-vertical>li.opens-right>a::after {
        display: block;
        width: 0;
        height: 0;
        border: inset 6px;
        content: '';
        border-right-width: 0;
        border-left-style: solid;
        border-color: transparent transparent transparent #991B1E;
    }
}

@media print,
screen and (min-width: 64em) {
    .dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu {
        top: 100%;
        right: 0;
        left: auto;
    }
    .dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu {
        top: 100%;
        right: auto;
        left: 0;
    }
    .dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a {
        position: relative;
        padding-right: 1.5rem;
    }
    .dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a::after {
        display: block;
        width: 0;
        height: 0;
        border: inset 6px;
        content: '';
        border-bottom-width: 0;
        border-top-style: solid;
        border-color: #991B1E transparent transparent;
        right: 5px;
        left: auto;
        margin-top: -3px;
    }
    .dropdown.menu.large-vertical>li .is-dropdown-submenu {
        top: 0;
    }
    .dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu {
        top: 0;
        right: 100%;
        left: auto;
    }
    .dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu {
        right: auto;
        left: 100%;
    }
    .dropdown.menu.large-vertical>li>a::after {
        right: 14px;
    }
    .dropdown.menu.large-vertical>li.opens-left>a::after {
        display: block;
        width: 0;
        height: 0;
        border: inset 6px;
        content: '';
        border-left-width: 0;
        border-right-style: solid;
        border-color: transparent #991B1E transparent transparent;
        right: auto;
        left: 5px;
    }
    .dropdown.menu.large-vertical>li.opens-right>a::after {
        display: block;
        width: 0;
        height: 0;
        border: inset 6px;
        content: '';
        border-right-width: 0;
        border-left-style: solid;
        border-color: transparent transparent transparent #991B1E;
    }
}

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
    top: 100%;
    right: 0;
    left: auto;
}

.is-dropdown-menu.vertical {
    width: 100px;
}

.is-dropdown-menu.vertical.align-right {
    float: right;
}

.is-dropdown-submenu-parent {
    position: relative;
}

.is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px;
}

.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu {
    top: 100%;
    left: auto;
}

.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu {
    right: 100%;
    left: auto;
}

.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu {
    right: auto;
    left: 100%;
}

.is-dropdown-submenu {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1;
    display: none;
    min-width: 200px;
    border: 1px solid #cacaca;
    background: #fefefe;
}

.dropdown .is-dropdown-submenu a {
    padding: 0.7rem 1rem;
}

.is-dropdown-submenu .is-dropdown-submenu-parent>a::after {
    right: 14px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #991B1E transparent transparent;
    right: auto;
    left: 5px;
}

.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #991B1E;
}

.is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px;
}

.is-dropdown-submenu>li {
    width: 100%;
}

.is-dropdown-submenu.js-dropdown-active {
    display: block;
}

.is-off-canvas-open {
    overflow: hidden;
}

.js-off-canvas-overlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 11;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    background: rgba(254, 254, 254, 0.25);
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
}

.js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

.js-off-canvas-overlay.is-closable {
    cursor: pointer;
}

.js-off-canvas-overlay.is-overlay-absolute {
    position: absolute;
}

.js-off-canvas-overlay.is-overlay-fixed {
    position: fixed;
}

.off-canvas-wrapper {
    position: relative;
    overflow: hidden;
}

.off-canvas {
    position: fixed;
    z-index: 12;
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #e6e6e6;
}

[data-whatinput='mouse'] .off-canvas {
    outline: 0;
}

.off-canvas.is-transition-push {
    z-index: 12;
}

.off-canvas.is-closed {
    visibility: hidden;
}

.off-canvas.is-transition-overlap {
    z-index: 13;
}

.off-canvas.is-transition-overlap.is-open {
    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
}

.off-canvas.is-open {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.off-canvas-absolute {
    position: absolute;
    z-index: 12;
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #e6e6e6;
}

[data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0;
}

.off-canvas-absolute.is-transition-push {
    z-index: 12;
}

.off-canvas-absolute.is-closed {
    visibility: hidden;
}

.off-canvas-absolute.is-transition-overlap {
    z-index: 13;
}

.off-canvas-absolute.is-transition-overlap.is-open {
    -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
}

.off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.position-left {
    top: 0;
    left: 0;
    height: 100%;
    overflow-y: auto;
    width: 250px;
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
}

.off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
}

.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
    transform: translateX(250px);
}

.position-left.is-transition-push {
    -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
    box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);
}

.position-right {
    top: 0;
    right: 0;
    height: 100%;
    overflow-y: auto;
    width: 250px;
    -webkit-transform: translateX(250px);
    transform: translateX(250px);
}

.off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
    transform: translateX(250px);
}

.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
}

.position-right.is-transition-push {
    -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
    box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);
}

.position-top {
    top: 0;
    left: 0;
    width: 100%;
    overflow-x: auto;
    height: 250px;
    -webkit-transform: translateY(-250px);
    transform: translateY(-250px);
}

.off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
    transform: translateY(-250px);
}

.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
    transform: translateY(250px);
}

.position-top.is-transition-push {
    -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
    box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);
}

.position-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    overflow-x: auto;
    height: 250px;
    -webkit-transform: translateY(250px);
    transform: translateY(250px);
}

.off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
    transform: translateY(250px);
}

.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
    transform: translateY(-250px);
}

.position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
    box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);
}

.off-canvas-content {
    -webkit-transform: none;
    transform: none;
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

@media print,
screen and (min-width: 40em) {
    .position-left.reveal-for-medium {
        -webkit-transform: none;
        transform: none;
        z-index: 12;
        -webkit-transition: none;
        transition: none;
        visibility: visible;
    }
    .position-left.reveal-for-medium .close-button {
        display: none;
    }
    .off-canvas-content .position-left.reveal-for-medium {
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas-content.has-reveal-left {
        margin-left: 250px;
    }
    .position-left.reveal-for-medium~.off-canvas-content {
        margin-left: 250px;
    }
    .position-right.reveal-for-medium {
        -webkit-transform: none;
        transform: none;
        z-index: 12;
        -webkit-transition: none;
        transition: none;
        visibility: visible;
    }
    .position-right.reveal-for-medium .close-button {
        display: none;
    }
    .off-canvas-content .position-right.reveal-for-medium {
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas-content.has-reveal-right {
        margin-right: 250px;
    }
    .position-right.reveal-for-medium~.off-canvas-content {
        margin-right: 250px;
    }
    .position-top.reveal-for-medium {
        -webkit-transform: none;
        transform: none;
        z-index: 12;
        -webkit-transition: none;
        transition: none;
        visibility: visible;
    }
    .position-top.reveal-for-medium .close-button {
        display: none;
    }
    .off-canvas-content .position-top.reveal-for-medium {
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas-content.has-reveal-top {
        margin-top: 250px;
    }
    .position-top.reveal-for-medium~.off-canvas-content {
        margin-top: 250px;
    }
    .position-bottom.reveal-for-medium {
        -webkit-transform: none;
        transform: none;
        z-index: 12;
        -webkit-transition: none;
        transition: none;
        visibility: visible;
    }
    .position-bottom.reveal-for-medium .close-button {
        display: none;
    }
    .off-canvas-content .position-bottom.reveal-for-medium {
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas-content.has-reveal-bottom {
        margin-bottom: 250px;
    }
    .position-bottom.reveal-for-medium~.off-canvas-content {
        margin-bottom: 250px;
    }
}

@media print,
screen and (min-width: 64em) {
    .position-left.reveal-for-large {
        -webkit-transform: none;
        transform: none;
        z-index: 12;
        -webkit-transition: none;
        transition: none;
        visibility: visible;
    }
    .position-left.reveal-for-large .close-button {
        display: none;
    }
    .off-canvas-content .position-left.reveal-for-large {
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas-content.has-reveal-left {
        margin-left: 250px;
    }
    .position-left.reveal-for-large~.off-canvas-content {
        margin-left: 250px;
    }
    .position-right.reveal-for-large {
        -webkit-transform: none;
        transform: none;
        z-index: 12;
        -webkit-transition: none;
        transition: none;
        visibility: visible;
    }
    .position-right.reveal-for-large .close-button {
        display: none;
    }
    .off-canvas-content .position-right.reveal-for-large {
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas-content.has-reveal-right {
        margin-right: 250px;
    }
    .position-right.reveal-for-large~.off-canvas-content {
        margin-right: 250px;
    }
    .position-top.reveal-for-large {
        -webkit-transform: none;
        transform: none;
        z-index: 12;
        -webkit-transition: none;
        transition: none;
        visibility: visible;
    }
    .position-top.reveal-for-large .close-button {
        display: none;
    }
    .off-canvas-content .position-top.reveal-for-large {
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas-content.has-reveal-top {
        margin-top: 250px;
    }
    .position-top.reveal-for-large~.off-canvas-content {
        margin-top: 250px;
    }
    .position-bottom.reveal-for-large {
        -webkit-transform: none;
        transform: none;
        z-index: 12;
        -webkit-transition: none;
        transition: none;
        visibility: visible;
    }
    .position-bottom.reveal-for-large .close-button {
        display: none;
    }
    .off-canvas-content .position-bottom.reveal-for-large {
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas-content.has-reveal-bottom {
        margin-bottom: 250px;
    }
    .position-bottom.reveal-for-large~.off-canvas-content {
        margin-bottom: 250px;
    }
}

@media print,
screen and (min-width: 40em) {
    .off-canvas.in-canvas-for-medium {
        visibility: visible;
        height: auto;
        position: static;
        background: none;
        width: auto;
        overflow: visible;
        -webkit-transition: none;
        transition: none;
    }
    .off-canvas.in-canvas-for-medium.position-left,
    .off-canvas.in-canvas-for-medium.position-right,
    .off-canvas.in-canvas-for-medium.position-top,
    .off-canvas.in-canvas-for-medium.position-bottom {
        -webkit-box-shadow: none;
        box-shadow: none;
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas.in-canvas-for-medium .close-button {
        display: none;
    }
}

@media print,
screen and (min-width: 64em) {
    .off-canvas.in-canvas-for-large {
        visibility: visible;
        height: auto;
        position: static;
        background: none;
        width: auto;
        overflow: visible;
        -webkit-transition: none;
        transition: none;
    }
    .off-canvas.in-canvas-for-large.position-left,
    .off-canvas.in-canvas-for-large.position-right,
    .off-canvas.in-canvas-for-large.position-top,
    .off-canvas.in-canvas-for-large.position-bottom {
        -webkit-box-shadow: none;
        box-shadow: none;
        -webkit-transform: none;
        transform: none;
    }
    .off-canvas.in-canvas-for-large .close-button {
        display: none;
    }
}

html.is-reveal-open {
    position: fixed;
    width: 100%;
    overflow-y: hidden;
}

html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll;
}

html.is-reveal-open body {
    overflow-y: hidden;
}

.reveal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1005;
    display: none;
    background-color: rgba(10, 10, 10, 0.45);
    overflow-y: auto;
}

.reveal {
    z-index: 1006;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: none;
    padding: 1rem;
    border: 1px solid #cacaca;
    border-radius: 0;
    background-color: #fefefe;
    position: relative;
    top: 100px;
    margin-right: auto;
    margin-left: auto;
    overflow-y: auto;
}

[data-whatinput='mouse'] .reveal {
    outline: 0;
}

@media print,
screen and (min-width: 40em) {
    .reveal {
        min-height: 0;
    }
}

.reveal .column {
    min-width: 0;
}

.reveal> :last-child {
    margin-bottom: 0;
}

@media print,
screen and (min-width: 40em) {
    .reveal {
        width: 600px;
        max-width: 75rem;
    }
}

.reveal.collapse {
    padding: 0;
}

@media print,
screen and (min-width: 40em) {
    .reveal.tiny {
        width: 30%;
        max-width: 75rem;
    }
}

@media print,
screen and (min-width: 40em) {
    .reveal.small {
        width: 50%;
        max-width: 75rem;
    }
}

@media print,
screen and (min-width: 40em) {
    .reveal.large {
        width: 90%;
        max-width: 75rem;
    }
}

.reveal.full {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    margin-left: 0;
    border: 0;
    border-radius: 0;
}

@media screen and (max-width: 39.99875em) {
    .reveal {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: none;
        height: 100%;
        min-height: 100%;
        margin-left: 0;
        border: 0;
        border-radius: 0;
    }
}

.reveal.without-overlay {
    position: fixed;
}

.sticky-container {
    position: relative;
}

.sticky {
    position: relative;
    z-index: 0;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.sticky.is-stuck {
    position: fixed;
    z-index: 5;
    width: 100%;
}

.sticky.is-stuck.is-at-top {
    top: 0;
}

.sticky.is-stuck.is-at-bottom {
    bottom: 0;
}

.sticky.is-anchored {
    position: relative;
    right: auto;
    left: auto;
}

.sticky.is-anchored.is-at-bottom {
    bottom: 0;
}

.title-bar {
    padding: 0.5rem;
    background: #0a0a0a;
    color: #fefefe;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem;
}

.title-bar-left,
.title-bar-right {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
}

.title-bar-right {
    text-align: right;
}

.title-bar-title {
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
}

.top-bar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.5rem;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top-bar,
.top-bar ul {
    background-color: #e6e6e6;
}

.top-bar input {
    max-width: 200px;
    margin-right: 1rem;
}

.top-bar .input-group-field {
    width: 100%;
    margin-right: 0;
}

.top-bar input.button {
    width: auto;
}

.top-bar .top-bar-left,
.top-bar .top-bar-right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

@media print,
screen and (min-width: 40em) {
    .top-bar {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
    .top-bar .top-bar-left {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        margin-right: auto;
    }
    .top-bar .top-bar-right {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        margin-left: auto;
    }
}

@media screen and (max-width: 63.99875em) {
    .top-bar.stacked-for-medium {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media screen and (max-width: 74.99875em) {
    .top-bar.stacked-for-large {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.top-bar-title {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin: 0.5rem 1rem 0.5rem 0;
}

.top-bar-left,
.top-bar-right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.float-center {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.clearfix::before,
.clearfix::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.clearfix::after {
    clear: both;
}

.align-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.align-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

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

.align-justify {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.align-spaced {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.align-left.vertical.menu>li>a {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.align-right.vertical.menu>li>a {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.align-center.vertical.menu>li>a {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.align-top {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start !important;
}

.align-self-top {
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.align-bottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.align-self-bottom {
    -ms-flex-item-align: end;
    align-self: flex-end;
}

.align-middle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.align-self-middle {
    -ms-flex-item-align: center;
    align-self: center;
}

.align-stretch {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.align-self-stretch {
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

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

.small-order-1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.small-order-2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.small-order-3 {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.small-order-4 {
    -webkit-box-ordinal-group: 5;
    -ms-flex-order: 4;
    order: 4;
}

.small-order-5 {
    -webkit-box-ordinal-group: 6;
    -ms-flex-order: 5;
    order: 5;
}

.small-order-6 {
    -webkit-box-ordinal-group: 7;
    -ms-flex-order: 6;
    order: 6;
}

@media print,
screen and (min-width: 40em) {
    .medium-order-1 {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    .medium-order-2 {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    .medium-order-3 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }
    .medium-order-4 {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    }
    .medium-order-5 {
        -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
        order: 5;
    }
    .medium-order-6 {
        -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
        order: 6;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-order-1 {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
    .large-order-2 {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    .large-order-3 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }
    .large-order-4 {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    }
    .large-order-5 {
        -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
        order: 5;
    }
    .large-order-6 {
        -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
        order: 6;
    }
}

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

.flex-child-auto {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
}

.flex-child-grow {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}

.flex-child-shrink {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

@media print,
screen and (min-width: 40em) {
    .medium-flex-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .medium-flex-child-auto {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    }
    .medium-flex-child-grow {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    }
    .medium-flex-child-shrink {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
    }
    .medium-flex-dir-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .medium-flex-dir-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .medium-flex-dir-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .medium-flex-dir-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

@media print,
screen and (min-width: 64em) {
    .large-flex-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .large-flex-child-auto {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    }
    .large-flex-child-grow {
        -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    }
    .large-flex-child-shrink {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
    }
    .large-flex-dir-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .large-flex-dir-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    }
    .large-flex-dir-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .large-flex-dir-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

.hide {
    display: none !important;
}

.invisible {
    visibility: hidden;
}

@media screen and (max-width: 39.99875em) {
    .hide-for-small-only {
        display: none !important;
    }
}

@media screen and (max-width: 0em),
screen and (min-width: 40em) {
    .show-for-small-only {
        display: none !important;
    }
}

@media print,
screen and (min-width: 40em) {
    .hide-for-medium {
        display: none !important;
    }
}

@media screen and (max-width: 39.99875em) {
    .show-for-medium {
        display: none !important;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.99875em) {
    .hide-for-medium-only {
        display: none !important;
    }
}

@media screen and (max-width: 39.99875em),
screen and (min-width: 64em) {
    .show-for-medium-only {
        display: none !important;
    }
}

@media print,
screen and (min-width: 64em) {
    .hide-for-large {
        display: none !important;
    }
}

@media screen and (max-width: 63.99875em) {
    .show-for-large {
        display: none !important;
    }
}

@media screen and (min-width: 64em) and (max-width: 74.99875em) {
    .hide-for-large-only {
        display: none !important;
    }
}

@media screen and (max-width: 63.99875em),
screen and (min-width: 75em) {
    .show-for-large-only {
        display: none !important;
    }
}

.show-for-sr,
.show-on-focus {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.show-on-focus:active,
.show-on-focus:focus {
    position: static !important;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

.show-for-landscape,
.hide-for-portrait {
    display: block !important;
}

@media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
        display: block !important;
    }
}

@media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
        display: none !important;
    }
}

.hide-for-landscape,
.show-for-portrait {
    display: none !important;
}

@media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
        display: none !important;
    }
}

@media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
        display: block !important;
    }
}

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

.text-truncate {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap !important;
}

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

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

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

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

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

.text-overline {
    text-decoration: overline !important;
}

.text-underline {
    text-decoration: underline !important;
}

.text-line-through {
    text-decoration: line-through !important;
}

.font-wide {
    letter-spacing: 0.25rem;
}

.font-normal {
    font-weight: normal;
}

.font-bold {
    font-weight: bold;
}

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

ul.list-disc {
    list-style-type: disc !important;
}

ul.list-circle {
    list-style-type: circle !important;
}

ul.list-square {
    list-style-type: square !important;
}

ol.list-decimal {
    list-style-type: decimal !important;
}

ol.list-lower-alpha {
    list-style-type: lower-alpha !important;
}

ol.list-lower-latin {
    list-style-type: lower-latin !important;
}

ol.list-lower-roman {
    list-style-type: lower-roman !important;
}

ol.list-upper-alpha {
    list-style-type: upper-alpha !important;
}

ol.list-upper-latin {
    list-style-type: upper-latin !important;
}

ol.list-upper-roman {
    list-style-type: upper-roman !important;
}

.rounded {
    border-radius: 5000px !important;
}

.rounded:after {
    border-radius: 50%;
}

.radius {
    border-radius: 0.1875rem;
}

.bordered {
    border: 0.0625rem solid #cacaca;
}

.shadow {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}

.arrow-down {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4375rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #0a0a0a transparent transparent;
}

.arrow-up {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4375rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
}

.arrow-right {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4375rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #0a0a0a;
}

.arrow-left {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4375rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #0a0a0a transparent transparent;
}

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

.separator-center::before,
.separator-center::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.separator-center::after {
    clear: both;
}

.separator-center::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #991B1E;
    margin: 1rem auto 0;
}

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

.separator-left::before,
.separator-left::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.separator-left::after {
    clear: both;
}

.separator-left::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #991B1E;
    margin: 1rem auto 0;
    margin-left: 0 !important;
}

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

.separator-right::before,
.separator-right::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.separator-right::after {
    clear: both;
}

.separator-right::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #991B1E;
    margin: 1rem auto 0;
    margin-right: 0 !important;
}

.overflow-visible {
    overflow: visible !important;
}

.overflow-x-visible {
    overflow-x: visible !important;
}

.overflow-y-visible {
    overflow-y: visible !important;
}

.overflow-hidden {
    overflow: hidden !important;
}

.overflow-x-hidden {
    overflow-x: hidden !important;
}

.overflow-y-hidden {
    overflow-y: hidden !important;
}

.overflow-scroll {
    overflow: scroll !important;
}

.overflow-x-scroll {
    overflow-x: scroll !important;
}

.overflow-y-scroll {
    overflow-y: scroll !important;
}

.display-inline {
    display: inline !important;
}

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

.display-block {
    display: block !important;
}

.display-table {
    display: table !important;
}

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

.position-static {
    position: static !important;
}

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute !important;
}

.position-fixed {
    position: fixed !important;
}

.position-fixed-top {
    position: fixed !important;
    top: 0rem !important;
    right: 0rem !important;
    left: 0rem !important;
    z-index: 975;
}

.position-fixed-bottom {
    position: fixed !important;
    right: 0rem !important;
    bottom: 0rem !important;
    left: 0rem !important;
    z-index: 975;
}

.border-box {
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
}

.border-none {
    border: none !important;
}

.width-25 {
    width: 25% !important;
}

.width-50 {
    width: 50% !important;
}

.width-75 {
    width: 75% !important;
}

.width-100 {
    width: 100% !important;
}

.height-25 {
    height: 25% !important;
}

.height-50 {
    height: 50% !important;
}

.height-75 {
    height: 75% !important;
}

.height-100 {
    height: 100% !important;
}

.max-width-100 {
    max-width: 100% !important;
}

.max-height-100 {
    max-height: 100% !important;
}

.margin-0 {
    margin: 0rem;
}

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

.margin-right-0 {
    margin-right: 0rem !important;
}

.margin-bottom-0 {
    margin-bottom: 0rem !important;
}

.margin-left-0 {
    margin-left: 0rem !important;
}

.margin-horizontal-0 {
    margin-right: 0rem !important;
    margin-left: 0rem !important;
}

.margin-vertical-0 {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
}

.padding-0 {
    padding: 0rem;
}

.padding-top-0 {
    padding-top: 0rem !important;
}

.padding-right-0 {
    padding-right: 0rem !important;
}

.padding-bottom-0 {
    padding-bottom: 0rem !important;
}

.padding-left-0 {
    padding-left: 0rem !important;
}

.padding-horizontal-0 {
    padding-right: 0rem !important;
    padding-left: 0rem !important;
}

.padding-vertical-0 {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
}

.margin-1 {
    margin: 1rem;
}

.margin-top-1 {
    margin-top: 1rem !important;
}

.margin-right-1 {
    margin-right: 1rem !important;
}

.margin-bottom-1 {
    margin-bottom: 1rem !important;
}

.margin-left-1 {
    margin-left: 1rem !important;
}

.margin-horizontal-1 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
}

.margin-vertical-1 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.padding-1 {
    padding: 1rem;
}

.padding-top-1 {
    padding-top: 1rem !important;
}

.padding-right-1 {
    padding-right: 1rem !important;
}

.padding-bottom-1 {
    padding-bottom: 1rem !important;
}

.padding-left-1 {
    padding-left: 1rem !important;
}

.padding-horizontal-1 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
}

.padding-vertical-1 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.margin-2 {
    margin: 2rem;
}

.margin-top-2 {
    margin-top: 2rem !important;
}

.margin-right-2 {
    margin-right: 2rem !important;
}

.margin-bottom-2 {
    margin-bottom: 2rem !important;
}

.margin-left-2 {
    margin-left: 2rem !important;
}

.margin-horizontal-2 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
}

.margin-vertical-2 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

.padding-2 {
    padding: 2rem;
}

.padding-top-2 {
    padding-top: 2rem !important;
}

.padding-right-2 {
    padding-right: 2rem !important;
}

.padding-bottom-2 {
    padding-bottom: 2rem !important;
}

.padding-left-2 {
    padding-left: 2rem !important;
}

.padding-horizontal-2 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
}

.padding-vertical-2 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.margin-3 {
    margin: 3rem;
}

.margin-top-3 {
    margin-top: 3rem !important;
}

.margin-right-3 {
    margin-right: 3rem !important;
}

.margin-bottom-3 {
    margin-bottom: 3rem !important;
}

.margin-left-3 {
    margin-left: 3rem !important;
}

.margin-horizontal-3 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
}

.margin-vertical-3 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
}

.padding-3 {
    padding: 3rem;
}

.padding-top-3 {
    padding-top: 3rem !important;
}

.padding-right-3 {
    padding-right: 3rem !important;
}

.padding-bottom-3 {
    padding-bottom: 3rem !important;
}

.padding-left-3 {
    padding-left: 3rem !important;
}

.padding-horizontal-3 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}

.padding-vertical-3 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}


/*  Font Icons
*************************************/

@font-face {
    font-family: 'icomoon';
    src: url("../fonts/icomoon.eot?b5a9sr");
    src: url("../fonts/icomoon.eot?b5a9sr#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?b5a9sr") format("truetype"), url("../fonts/icomoon.woff?b5a9sr") format("woff"), url("../fonts/icomoon.svg?b5a9sr#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

[class^="icon-"],
[class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-cheveron-left:before {
    content: "\e901";
}

.icon-cheveron-right:before {
    content: "\e902";
}

.icon-arrow-right:before {
    content: "\e900";
}

.icon-phone:before {
    content: "\e942";
}

.fw-extralight {
    font-weight: 200 !important;
}

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

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

.fw-medium {
    font-weight: 500 !important;
}

.fw-semibold {
    font-weight: 600 !important;
}

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

.fw-extrabold {
    font-weight: 800 !important;
}

.fw-black {
    font-weight: 900 !important;
}

.tc-primary {
    color: #991B1E !important;
}

.tc-secondary {
    color: #212121 !important;
}

.tc-dark {
    color: #333 !important;
}

.tc-white {
    color: #fff !important;
}

.bc-primary {
    background-color: #991B1E !important;
}

.bc-secondary {
    background-color: #212121 !important;
}

.bc-dark {
    background-color: #333 !important;
}

.td-underline {
    text-decoration: underline !important;
}

.full-h {
    min-height: 100vh;
}

.text-large {
    font-size: 26px;
}

.order-1 {
    -webkit-box-ordinal-group: 2 !important;
    -ms-flex-order: 1 !important;
    order: 1 !important;
}

.order-2 {
    -webkit-box-ordinal-group: 3 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important;
}

.order-3 {
    -webkit-box-ordinal-group: 4 !important;
    -ms-flex-order: 3 !important;
    order: 3 !important;
}

.order-4 {
    -webkit-box-ordinal-group: 5 !important;
    -ms-flex-order: 4 !important;
    order: 4 !important;
}

.order-5 {
    -webkit-box-ordinal-group: 6 !important;
    -ms-flex-order: 5 !important;
    order: 5 !important;
}

.order-6 {
    -webkit-box-ordinal-group: 7 !important;
    -ms-flex-order: 6 !important;
    order: 6 !important;
}

.order-7 {
    -webkit-box-ordinal-group: 8 !important;
    -ms-flex-order: 7 !important;
    order: 7 !important;
}

.order-8 {
    -webkit-box-ordinal-group: 9 !important;
    -ms-flex-order: 8 !important;
    order: 8 !important;
}

.order-9 {
    -webkit-box-ordinal-group: 10 !important;
    -ms-flex-order: 9 !important;
    order: 9 !important;
}

.order-10 {
    -webkit-box-ordinal-group: 11 !important;
    -ms-flex-order: 10 !important;
    order: 10 !important;
}

.order-11 {
    -webkit-box-ordinal-group: 12 !important;
    -ms-flex-order: 11 !important;
    order: 11 !important;
}

.order-12 {
    -webkit-box-ordinal-group: 13 !important;
    -ms-flex-order: 12 !important;
    order: 12 !important;
}

.order-13 {
    -webkit-box-ordinal-group: 14 !important;
    -ms-flex-order: 13 !important;
    order: 13 !important;
}

.order-14 {
    -webkit-box-ordinal-group: 15 !important;
    -ms-flex-order: 14 !important;
    order: 14 !important;
}

.order-15 {
    -webkit-box-ordinal-group: 16 !important;
    -ms-flex-order: 15 !important;
    order: 15 !important;
}

.order-16 {
    -webkit-box-ordinal-group: 17 !important;
    -ms-flex-order: 16 !important;
    order: 16 !important;
}

.order-17 {
    -webkit-box-ordinal-group: 18 !important;
    -ms-flex-order: 17 !important;
    order: 17 !important;
}

.order-18 {
    -webkit-box-ordinal-group: 19 !important;
    -ms-flex-order: 18 !important;
    order: 18 !important;
}

.order-19 {
    -webkit-box-ordinal-group: 20 !important;
    -ms-flex-order: 19 !important;
    order: 19 !important;
}

.order-20 {
    -webkit-box-ordinal-group: 21 !important;
    -ms-flex-order: 20 !important;
    order: 20 !important;
}


/* Mobile to Desktop
**************************/

@media (min-width: 1024px) {
    .order-lg-1 {
        -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
        order: 1 !important;
    }
    .order-lg-2 {
        -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
        order: 2 !important;
    }
    .order-lg-3 {
        -webkit-box-ordinal-group: 4 !important;
        -ms-flex-order: 3 !important;
        order: 3 !important;
    }
    .order-lg-4 {
        -webkit-box-ordinal-group: 5 !important;
        -ms-flex-order: 4 !important;
        order: 4 !important;
    }
    .order-lg-5 {
        -webkit-box-ordinal-group: 6 !important;
        -ms-flex-order: 5 !important;
        order: 5 !important;
    }
    .order-lg-6 {
        -webkit-box-ordinal-group: 7 !important;
        -ms-flex-order: 6 !important;
        order: 6 !important;
    }
    .order-lg-7 {
        -webkit-box-ordinal-group: 8 !important;
        -ms-flex-order: 7 !important;
        order: 7 !important;
    }
    .order-lg-8 {
        -webkit-box-ordinal-group: 9 !important;
        -ms-flex-order: 8 !important;
        order: 8 !important;
    }
    .order-lg-9 {
        -webkit-box-ordinal-group: 10 !important;
        -ms-flex-order: 9 !important;
        order: 9 !important;
    }
    .order-lg-10 {
        -webkit-box-ordinal-group: 11 !important;
        -ms-flex-order: 10 !important;
        order: 10 !important;
    }
    .order-lg-11 {
        -webkit-box-ordinal-group: 12 !important;
        -ms-flex-order: 11 !important;
        order: 11 !important;
    }
    .order-lg-12 {
        -webkit-box-ordinal-group: 13 !important;
        -ms-flex-order: 12 !important;
        order: 12 !important;
    }
    .order-lg-13 {
        -webkit-box-ordinal-group: 14 !important;
        -ms-flex-order: 13 !important;
        order: 13 !important;
    }
    .order-lg-14 {
        -webkit-box-ordinal-group: 15 !important;
        -ms-flex-order: 14 !important;
        order: 14 !important;
    }
    .order-lg-15 {
        -webkit-box-ordinal-group: 16 !important;
        -ms-flex-order: 15 !important;
        order: 15 !important;
    }
    .order-lg-16 {
        -webkit-box-ordinal-group: 17 !important;
        -ms-flex-order: 16 !important;
        order: 16 !important;
    }
    .order-lg-17 {
        -webkit-box-ordinal-group: 18 !important;
        -ms-flex-order: 17 !important;
        order: 17 !important;
    }
    .order-lg-18 {
        -webkit-box-ordinal-group: 19 !important;
        -ms-flex-order: 18 !important;
        order: 18 !important;
    }
    .order-lg-19 {
        -webkit-box-ordinal-group: 20 !important;
        -ms-flex-order: 19 !important;
        order: 19 !important;
    }
    .order-lg-20 {
        -webkit-box-ordinal-group: 21 !important;
        -ms-flex-order: 20 !important;
        order: 20 !important;
    }
}


/* Desktop to Mobile
**************************/

@media (max-width: 1536px) {
    .text-large {
        font-size: 24px;
    }
}

@media (max-width: 1023px) {
    .text-large {
        font-size: 21px;
    }
}

@-webkit-keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }
    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }
    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }
    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }
    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes headerIn {
    from {
        top: -100%;
    }
    to {
        top: 0;
    }
}

@keyframes headerIn {
    from {
        top: -100%;
    }
    to {
        top: 0;
    }
}

* {
    outline: none;
}

body {
    font-family: "Lato", sans-serif;
    font-size: 16px;
    color: #333;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
    font-family: "Teko", sans-serif;
    margin-bottom: 20.7px;
}

h1 {
    font-weight: 600;
    font-size: 72px;
    line-height: 80px;
    text-transform: uppercase;
    color: #991B1E;
    margin-bottom: 20px;
}

h2 {
    font-weight: 400;
    font-size: 59px;
    line-height: 57px;
    text-transform: uppercase;
    color: #991B1E;
    margin-bottom: 10px;
}

h3 {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 38px;
    color: #3C3C3C;
}

a {
/*     color: #212121; */
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
}

a:hover,
a:focus {
    color: #545454;
}

p {
    font-family: "Lato", sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 26px;
    color: #3C3C3C;
    margin-bottom: 20.7px;
}

[class^="wp-container-"] {
    gap: 1em 0em !important;
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
}

.has-text-align-center {
    text-align: center;
}

@media (max-width: 1279px) {
    h1 {
        font-size: 66px;
        line-height: 74px;
    }
    h2 {
        font-size: 48px;
        line-height: 46px;
    }
    h3 {
        font-size: 28px;
        line-height: 36px;
    }
}

@media (max-width: 1023px) {
    body {
        font-size: 14.4px;
    }
    p {
        font-size: 16.2px;
    }
    h2 {
        font-size: 45px;
        line-height: 50px;
    }
    h3 {
        font-size: 26px;
        line-height: 34px;
    }
}

@media (max-width: 639px) {
    body {
        font-size: 12.8px;
    }
    p {
        font-size: 14.4px;
    }
    h1 {
        font-size: 56px;
        line-height: 64px;
    }
    h2 {
        font-size: 42px;
        line-height: 48px;
    }
    h3 {
        font-size: 22px;
        line-height: 30px;
    }
}

@media (max-width: 413px) {
    h1 {
        font-size: 42px;
        line-height: 48px;
    }
    h2 {
        font-size: 34px;
        line-height: 42px;
    }
}

.gform_wrapper.gravity-theme .gform_required_legend {
    display: none;
}

.gform_wrapper.gravity-theme .gfield_required {
    display: none;
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    background: rgba(255, 249, 249, 0.7);
    border: none;
    padding: 5px !important;
    font-size: 12px !important;
    line-height: 1.5;
    font-weight: 600;
    color: #991B1E;
    margin-top: 0;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
    background: rgba(255, 249, 249, 0.7);
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    margin: 0 auto 15px;
    max-width: 520px;
}

.gform_wrapper.gravity-theme .gform_validation_errors .gform_submission_error {
    font-weight: 400;
    font-size: 18px !important;
    line-height: 1.44444;
}

.gform_wrapper.gravity-theme .gform_fields {
    grid-row-gap: 10px !important;
}

.gform_wrapper.gravity-theme .gform_fields .gfield_label {
    font-size: 18px !important;
    line-height: 1.27778;
    color: #3C3C3C;
}

.gform_wrapper.gravity-theme .gform_fields .gfield [type='text'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='password'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='date'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime-local'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='month'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='week'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='email'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='number'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='search'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='tel'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='time'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='url'],
.gform_wrapper.gravity-theme .gform_fields .gfield [type='color'],
.gform_wrapper.gravity-theme .gform_fields .gfield select {
    padding: 17px 18px;
    font-size: 18px !important;
    line-height: 1.27778;
    color: #000;
    margin-bottom: 10px;
    border: 1px solid #C4C4C4;
    height: auto;
}

.gform_wrapper.gravity-theme .gform_fields .gfield [type='text']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='password']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='date']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime-local']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='month']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='week']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='email']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='number']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='search']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='tel']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='time']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='url']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='color']::-webkit-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield select::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #3C3C3C;
}

.gform_wrapper.gravity-theme .gform_fields .gfield [type='text']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='password']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='date']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime-local']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='month']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='week']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='email']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='number']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='search']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='tel']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='time']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='url']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='color']::-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield select::-moz-placeholder {
    /* Firefox 19+ */
    color: #3C3C3C;
}

.gform_wrapper.gravity-theme .gform_fields .gfield [type='text']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='password']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='date']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime-local']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='month']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='week']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='email']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='number']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='search']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='tel']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='time']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='url']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='color']:-ms-input-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield select:-ms-input-placeholder {
    /* IE 10+ */
    color: #3C3C3C;
}

.gform_wrapper.gravity-theme .gform_fields .gfield [type='text']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='password']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='date']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime-local']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='month']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='week']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='email']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='number']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='search']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='tel']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='time']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='url']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield [type='color']:-moz-placeholder,
.gform_wrapper.gravity-theme .gform_fields .gfield select:-moz-placeholder {
    /* Firefox 18- */
    color: #3C3C3C;
    opacity: 1;
}

@media (max-width: 639px) {
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='text'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='password'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='date'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime-local'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='month'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='week'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='email'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='number'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='search'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='tel'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='time'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='url'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='color'],
    .gform_wrapper.gravity-theme .gform_fields .gfield select {
        line-height: 1.27778 !important;
    }
}

.gform_wrapper.gravity-theme .gform_fields .gfield textarea {
    padding: 17px 18px;
    font-size: 18px !important;
    line-height: 1.27778;
    color: #000;
    margin-bottom: 10px;
    border: 1px solid #C4C4C4;
    max-height: 200px;
    resize: none;
}

.gform_wrapper.gravity-theme .gform_fields .gfield textarea::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #3C3C3C;
}

.gform_wrapper.gravity-theme .gform_fields .gfield textarea::-moz-placeholder {
    /* Firefox 19+ */
    color: #3C3C3C;
}

.gform_wrapper.gravity-theme .gform_fields .gfield textarea:-ms-input-placeholder {
    /* IE 10+ */
    color: #3C3C3C;
}

.gform_wrapper.gravity-theme .gform_fields .gfield textarea:-moz-placeholder {
    /* Firefox 18- */
    color: #3C3C3C;
    opacity: 1;
}

.gform_wrapper.gravity-theme .gform_fields .gfield textarea.medium {
    max-height: 120px;
}

.gform_wrapper.gravity-theme .gform_fields .gfield select {
    padding-right: 30px;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: #fff url("../img/icn-select-chevron-down.svg") no-repeat;
    background-position: 98% 25px;
}

.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='text'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='password'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='date'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='datetime'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='datetime-local'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='month'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='week'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='email'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='number'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='search'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='tel'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='time'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='url'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error [type='color'],
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error select,
.gform_wrapper.gravity-theme .gform_fields .gfield.gfield_error textarea {
    margin-bottom: 0;
}

.gform_wrapper.gravity-theme .gform_footer {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.gform_wrapper.gravity-theme .gform_footer input.button {
    margin-bottom: 0;
    min-width: 305px;
}

@media (max-width: 1199px) {
    .gform_wrapper.gravity-theme .gform_fields .gfield select {
        background-position: 97% 25px;
        padding: 15px 30px 15px 13px;
        font-size: 16px !important;
        line-height: 1.375;
    }
    .gform_wrapper.gravity-theme .gform_fields .gfield select option {
        padding: 15px;
        width: 100%;
    }
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='text'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='password'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='date'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime-local'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='month'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='week'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='email'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='number'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='search'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='tel'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='time'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='url'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='color'],
    .gform_wrapper.gravity-theme .gform_fields .gfield textarea {
        padding: 12px 13px;
        font-size: 16px !important;
        line-height: 1.375;
    }
}

@media (max-width: 639px) {
    .gform_wrapper.gravity-theme .gform_fields .gfield select {
        background-position: 97% 25px;
        padding: 15px 30px 15px 13px;
    }
    .gform_wrapper.gravity-theme .gform_fields .gfield select option {
        padding: 15px;
        width: 100%;
    }
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='text'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='password'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='date'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='datetime-local'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='month'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='week'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='email'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='number'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='search'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='tel'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='time'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='url'],
    .gform_wrapper.gravity-theme .gform_fields .gfield [type='color'] {
        padding: 15px 13px;
    }
}

@media (max-width: 413px) {
    .gform_wrapper.gravity-theme .gform_footer input.button {
        min-width: 260px;
        width: 100%;
    }
}

.button {
    margin-bottom: 0;
    font-weight: 700;
    font-size: 21px !important;
    line-height: 1.19048;
    text-align: center;
    text-transform: uppercase;
    padding: 18px 30px 15px;
    letter-spacing: 0.3em;
    color: #fff;
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    background-color: transparent;
    z-index: 0;
}

.button::before {
    content: '';
    height: 100%;
    width: 100%;
    -webkit-transition: background-color 0.25s ease 0s;
    transition: background-color 0.25s ease 0s;
    background-color: #A6070C;
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
}

.button.dark::before {
    background-color: #000;
}

.button.dark:hover::before,
.button.dark:focus::before {
    background-color: #3C3C3C;
}

.button.inverse {
    color: #000;
}

.button.inverse::before {
    background-color: #fff;
}

.button:hover,
.button:focus {
    background-color: transparent;
    color: #fff;
}

.button:hover::before,
.button:focus::before {
    background-color: #3C3C3C;
}

@media (max-width: 1279px) {
    .button {
        padding: 16px 25px 11px 30px;
    }
}

@media (max-width: 413px) {
    .button {
        max-width: 100%;
        width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        letter-spacing: 0.2em;
    }
}

input.button {
    background-color: #991B1E;
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
}

input.button:hover,
input.button:focus {
    background-color: #3C3C3C;
}

@media (max-width: 413px) {
    input.button {
        font-size: 18px !important;
        line-height: 1.33333;
        letter-spacing: 0.25em;
    }
}

.offer-wrap {
    background-color: #991B1E;
    padding: 17px;
    margin-bottom: 30px;
}

.offer-wrap .offer-item-wrap {
    text-align: center;
    border: 1px solid #C4C4C4;
    padding: 25px 0 35px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.offer-wrap .offer-item-wrap .header-wrap {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 20px;
    min-height: 260px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
}

.offer-wrap .offer-item-wrap .header-wrap:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 10px;
    width: 97%;
    height: 1px;
    background-image: url("data:image/svg+xml,%3csvg width='98%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='98%25' height='100%25' fill='none' stroke='white' stroke-width='4' stroke-dasharray='1.5%2c8' stroke-dashoffset='0' stroke-linecap='butt'/%3e%3c/svg%3e");
}

.offer-wrap .offer-item-wrap h2 {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.offer-wrap .offer-item-wrap h2 label,
.offer-wrap .offer-item-wrap h2 span {
    font-family: "Teko", sans-serif;
    font-weight: 700;
    font-size: 110px !important;
    line-height: 0.90909;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 0;
}

.offer-wrap .offer-item-wrap h2 span {
    font-size: 60px !important;
    line-height: 0.95;
}

.offer-wrap .offer-item-wrap h3 {
    font-family: "Teko", sans-serif;
    font-weight: 400;
    font-size: 59px !important;
    line-height: 0.9661;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 0;
    padding: 0 15px;
}

.offer-wrap .offer-item-wrap .text-wrap {
    margin-bottom: 0;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    min-height: 320px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.offer-wrap .offer-item-wrap .text-wrap .text-top-wrap {
    margin-bottom: 30px;
}

.offer-wrap .offer-item-wrap .text-wrap p {
    text-align: center;
    font-weight: 400;
    font-size: 22px !important;
    line-height: 1.36364;
    color: #fff;
}

.offer-wrap .offer-item-wrap .text-wrap p.text-large,
.offer-wrap .offer-item-wrap .text-wrap p strong {
    font-weight: 700;
    font-size: 30px !important;
    line-height: 1.26667;
    margin-bottom: 15px;
}

.offer-wrap .offer-item-wrap .text-wrap p.text-large.padded,
.offer-wrap .offer-item-wrap .text-wrap p strong.padded {
    max-width: 354px;
    margin: 0 auto 23px;
}

.offer-wrap .offer-item-wrap .text-wrap p.text-mini {
    font-size: 16px !important;
    line-height: 1.5;
    color: #FFB0B2;
}

.offer-wrap .offer-item-wrap .text-wrap p:last-child {
    margin-bottom: 0;
}

.offer-wrap .offer-item-wrap .text-wrap .text-bottom-wrap a.button {
    max-width: 90%;
}

.offer-wrap .button {
    z-index: 2;
    max-width: 240px;
    margin: 0 auto;
}

.offer-wrap.white {
    background: #fff;
    -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
    box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
}

.offer-wrap.white>.wp-block-group__inner-container {
    display: block;
    height: 100%;
    padding: 10px;
}

.offer-wrap.white .offer-item-wrap {
    border: none;
    padding: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.offer-wrap.white .offer-item-wrap>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 0px 30px;
    width: 100%;
    height: 100%;
}

.offer-wrap.white .offer-item-wrap .header-wrap {
    max-width: 420px;
    margin: 0 auto 20px;
    min-height: 260px;
}

.offer-wrap.white .offer-item-wrap h2 {
    font-weight: 700;
    font-size: 110px !important;
    line-height: 0.90909;
    text-transform: uppercase;
    color: #991B1E;
    margin-bottom: 0;
}

.offer-wrap.white .offer-item-wrap h3 {
    color: #991B1E;
}

.offer-wrap.white .offer-item-wrap .text-wrap {
    min-height: 300px !important;
}

.offer-wrap.white .offer-item-wrap .text-wrap>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    width: 100%;
}

.offer-wrap.white .offer-item-wrap .text-wrap .text-top-wrap {
    margin-bottom: 50px;
}

.offer-wrap.white .offer-item-wrap .text-wrap p {
    color: #3C3C3C;
}

.offer-wrap.white .offer-item-wrap .text-wrap p.text-large {
    color: #3C3C3C;
}

.offer-wrap.white .offer-item-wrap .text-wrap .text-bottom-wrap a.button {
    max-width: 100%;
}

@media (max-width: 1279px) {
    .offer-wrap .offer-item-wrap h2 label {
        font-size: 90px !important;
        line-height: 0.88889;
    }
    .offer-wrap .offer-item-wrap h2 span {
        font-size: 48px !important;
        line-height: 0.9375;
    }
    .offer-wrap .offer-item-wrap h3 {
        font-size: 42px !important;
        line-height: 1.14286;
    }
    .offer-wrap .offer-item-wrap .header-wrap {
        padding-left: 5px;
        padding-right: 5px;
        height: auto;
        min-height: 240px;
    }
    .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 280px;
    }
    .offer-wrap .offer-item-wrap .text-wrap p {
        font-size: 18px !important;
        line-height: 1.44444;
    }
    .offer-wrap .offer-item-wrap .text-wrap p.text-large,
    .offer-wrap .offer-item-wrap .text-wrap p strong {
        font-size: 26px !important;
        line-height: 1.23077;
    }
    .offer-wrap .offer-item-wrap .text-wrap p.text-mini {
        font-size: 14px !important;
        line-height: 1.57143;
    }
    .offer-wrap .offer-item-wrap .text-wrap .text-bottom-wrap a.button {
        max-width: 100%;
    }
    .offer-wrap.white .offer-item-wrap>.wp-block-group__inner-container {
        height: 100%;
        padding: 20px 0px 25px;
    }
    .offer-wrap.white .offer-item-wrap .text-wrap {
        min-height: auto !important;
    }
    .offer-wrap.white .offer-item-wrap .text-wrap>.wp-block-group__inner-container {
        height: 100%;
    }
    .offer-wrap.white .offer-item-wrap .text-wrap .text-top-wrap {
        margin-bottom: 30px;
    }
    .offer-wrap.white .offer-item-wrap h2 {
        font-size: 90px !important;
        line-height: 0.88889;
    }
    .offer-wrap.white .offer-item-wrap .header-wrap {
        min-height: 230px;
        margin-bottom: 0;
    }
}

@media (max-width: 1199px) {
    .offer-wrap .offer-item-wrap .header-wrap {
        min-height: 260px;
    }
}

@media (max-width: 1023px) {
    .offer-wrap {
        max-width: 400px;
        margin: 0 auto 30px !important;
        height: auto;
    }
    .offer-wrap .offer-item-wrap .header-wrap {
        min-height: 200px;
    }
    .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 240px;
    }
    .offer-wrap .offer-item-wrap .text-wrap .text-top-wrap {
        margin-bottom: 20px;
    }
    .offer-wrap .offer-item-wrap .text-wrap .text-bottom-wrap a.button {
        max-width: 80%;
    }
}

@media (max-width: 767px) {
    .offer-wrap .offer-item-wrap h2 {
        font-size: 80px !important;
        line-height: 0.875;
    }
    .offer-wrap .offer-item-wrap h3 {
        font-size: 32px !important;
        line-height: 1.25;
    }
    .offer-wrap .offer-item-wrap .text-wrap p strong {
        font-size: 24px !important;
        line-height: 1.33333;
    }
    .offer-wrap.white .offer-item-wrap h2 {
        font-size: 80px !important;
        line-height: 0.875;
    }
    .offer-wrap.white .offer-item-wrap h3 {
        font-size: 32px !important;
        line-height: 1.25;
    }
    .offer-wrap.white .text-wrap {
        min-height: auto;
    }
    .offer-wrap.white .text-wrap p strong {
        font-size: 24px !important;
        line-height: 1.33333;
    }
}

@media (max-width: 413px) {
    .offer-wrap {
        padding: 13px;
    }
    .offer-wrap .offer-item-wrap h2 label {
        font-size: 90px !important;
        line-height: 0.88889;
    }
    .offer-wrap .offer-item-wrap .text-wrap p.text-mini {
        font-size: 13px !important;
        line-height: 1.61538;
    }
    .offer-wrap .offer-item-wrap .text-wrap .text-bottom-wrap a.button {
        max-width: 100%;
    }
    .offer-wrap .text-bottom-wrap {
        width: 100%;
    }
    .offer-wrap .button {
        max-width: 100%;
        width: 95%;
        padding-left: 20px;
        padding-right: 20px;
    }
}

.icn-phone-red {
    content: url("../img/icn-phone-red.svg");
    width: 24px;
    height: 24px;
}


/* Trustindex Overwrites*/

.ti-widget.ti-goog .ti-review-content :before {
    border: none !important;
}

.google-reviews .ti-widget.ti-goog .ti-review-content {
    border: none;
}

.google-reviews .ti-widget.ti-goog .ti-review-content:before {
    display: none;
}

.google-reviews .ti-widget.ti-goog .ti-review-content::after {
    width: 30px;
    height: 30px;
    top: -50px !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls-dots {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    max-width: 150px;
    margin: 10px auto;
}

.google-reviews .ti-widget.ti-goog .ti-controls-dots .dot {
    width: 4px !important;
    height: 4px !important;
    padding: 4px !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls-dots .dot.active {
    width: 10px !important;
    height: 10px !important;
    padding: 6px !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    top: 40% !important;
    width: 100%;
    margin-top: 0 !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls .ti-next {
    right: -20px !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls .ti-next:hover {
    -webkit-transform: none !important;
    transform: none !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls .ti-next:before,
.google-reviews .ti-widget.ti-goog .ti-controls .ti-next:after {
    background: #5F5F5F !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls .ti-prev {
    left: -20px !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls .ti-prev:hover {
    -webkit-transform: none !important;
    transform: none !important;
}

.google-reviews .ti-widget.ti-goog .ti-controls .ti-prev:before,
.google-reviews .ti-widget.ti-goog .ti-controls .ti-prev:after {
    background: #5F5F5F !important;
}

@media (max-width: 1199px) {
    .google-reviews .ti-widget.ti-goog .ti-controls .ti-next {
        right: -10px !important;
    }
    .google-reviews .ti-widget.ti-goog .ti-controls .ti-prev {
        left: -10px !important;
    }
}

@media (max-width: 1023px) {
    .google-reviews .ti-widget.ti-goog .ti-controls .ti-next {
        right: -15px !important;
    }
    .google-reviews .ti-widget.ti-goog .ti-controls .ti-prev {
        left: -15px !important;
    }
}

@media (max-width: 639px) {
    .google-reviews .ti-widget.ti-goog .ti-controls {
        display: block;
    }
    .google-reviews .ti-widget.ti-goog .ti-controls .ti-next {
        right: -10px !important;
    }
    .google-reviews .ti-widget.ti-goog .ti-controls .ti-prev {
        left: -10px !important;
    }
}

.icn-chevron-right {
    content: url("../img/icn-chevron-right.svg");
    width: 15px;
    height: 25px;
}

.icn-chevron-left {
    content: url("../img/icn-chevron-right.svg");
    width: 15px;
    height: 25px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.image-wrap-bg-logo {
    text-align: center;
    background: url(../img/img-bg-logo.svg) center/contain no-repeat;
    padding: 50px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.image-wrap-bg-logo img {
    padding-left: 20px;
    padding-right: 20px;
}


/* CUSTOM CSS */

.bg-gray {
    background: #333;
}

.bg-gray h2 {
    color: #fff;
}

.bg-red {
    background: #991B1E;
}

.bg-red h2 {
    color: #fff;
}

.bg-texture {
    background: url("../img/img-bg-model-excellence.jpg") center no-repeat;
    background-size: 100%;
    position: relative;
}

.bg-texture:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
    background: -webkit-gradient(linear, left bottom, left top, from(white), color-stop(30%, rgba(0, 0, 0, 0)), color-stop(70%, rgba(0, 0, 0, 0)), to(white));
    background: linear-gradient(0deg, white 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 70%, white 100%);
}

.bg-light-gray {
    background: #E5E5E5;
}

.bg-gradient-gray-bottom {
    position: relative;
}

.bg-gradient-gray-bottom:after {
    content: "";
    position: absolute;
    bottom: -150px;
    left: 0;
    width: 100%;
    height: 400px;
    z-index: -1;
    background: linear-gradient(0deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 41.45%), linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 37.31%), rgba(211, 211, 211, 0.7);
}

.bg-gradient-center {
    position: relative;
    background: linear-gradient(0deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 41.45%), linear-gradient(180deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 37.31%), rgba(211, 211, 211, 0.7);
    width: 100%;
}

.header {
    z-index: 5;
    position: relative;
    z-index: 999;
    height: 122px !important;
}

.header.header-sticky {
    position: fixed;
}

.header .sticky {
    position: fixed;
    max-width: none !important;
    padding: 0px 0 25px;
    width: 100%;
    background-color: #fff;
    top: 0 !important;
}

.header .sticky.home-sticky {
    background: transparent;
}

.header .sticky.home-sticky.is-stuck {
    background-color: #fff;
    -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.15);
}

.header .menubar {
    max-width: 1920px;
    margin: 0 auto;
}

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

.header .menubar .menu-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.header .menubar .logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 290px;
    width: 100%;
}

.header .menubar .logo p {
    font-style: italic;
    font-weight: 500;
    font-size: 14px !important;
    line-height: 1.85714;
    color: #eaeaea;
    margin-left: 70px;
    margin-bottom: 0;
}

.header .menubar .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    -ms-flex-preferred-size: 83%;
    flex-basis: 83%;
    list-style: none;
    margin: 0px 40px 0 0;
    padding: 0;
    align-items: center;
}

.header .menubar .menu li a {
    font-weight: 700;
    font-size: 16px !important;
    line-height: 1.1875;
    padding: 25px 20px;
    position: relative;
}

.header .menubar .menu li.is-dropdown-submenu-parent>a {
    padding-right: 25px;
}

.header .menubar .menu li.is-dropdown-submenu-parent>a::after {
    content: "";
    background: url(../img/icn-chevron-down.svg) center no-repeat;
    width: 10px;
    height: 8px;
    right: 5px;
    border: none;
}

.header .menubar .menu li.is-dropdown-submenu-parent ul.submenu {
    background-color: #991B1E;
    border-radius: 0;
}

.header .menubar .menu li.is-dropdown-submenu-parent ul.submenu li a {
    color: #fff;
    background-color: #991B1E;
    border-left: 5px solid #991B1E;
    display: block;
}

.header .menubar .menu li.is-dropdown-submenu-parent ul.submenu li a:hover {
    border-radius: 0;
    border-left: 5px solid #fff;
    background-color: #A6070C;
}

.header .menubar .menu li.is-active.service-menu>ul.first-sub {
    display: flex;
    align-items: flex-start;
}

.header .menubar .menu li.is-active.service-menu>ul.first-sub>li>a:after {
    display: none;
}

.header .menubar .menu li.is-active.service-menu>ul.first-sub>li.service-location>ul.submenu {
    display: block;
    position: static;
    margin-left: 0;
}

.header .menubar .menu li.is-active.service-menu>ul.first-sub>li.service-location>ul.submenu>li {
    position: relative;
}

.header .menubar .menu li.is-active.service-menu>ul.first-sub>li.service-location>ul.submenu>li:before {
    content: "»";
    position: absolute;
    z-index: 1;
    top: 25%;
    left: 30px;
    color: rgba(255, 255, 255, 0.75);
}

.header .menubar .menu li.is-active.service-menu>ul.first-sub>li.service-location>ul.submenu>li>a {
    padding-left: 40px;
    color: rgba(255, 255, 255, 0.75);
}

.header .menubar .menu li.is-active.service-menu>ul.first-sub>li.service-location>a {
    color: #FFF;
}

.header .menubar .menu li.is-active.service-menu>ul.first-sub>li.service-location>a:hover {
    color: #FFF;
}

.header .menubar .menu li.is-active>ul.submenu {
    display: block;
}

.header .menubar .menu li ul.is-dropdown-submenu {
    min-width: 230px;
    border: none;
    border-radius: 0 0 15px 15px;
}

.header .menubar .menu li ul.is-dropdown-submenu li {
    display: block;
}

.header .menubar .menu li ul.is-dropdown-submenu li a {
    display: block;
    padding: 17px 30px;
}

.header .menubar .menu li ul.is-dropdown-submenu li:last-child a {
    border-radius: 0 0 15px 15px;
}

.header .menubar .menu>li:last-child a {
    position: relative;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    background-color: transparent;
    padding: 11px 35px 7px;
    font-family: "Teko", sans-serif;
    color: #fff;
    font-size: 20px !important;
    line-height: 1.8;
    text-transform: uppercase;
    letter-spacing: 0.23em;
}

.header .menubar .menu>li:last-child a::before {
    content: '';
    height: 100%;
    width: 100%;
    -webkit-transition: background-color 0.25s ease 0s;
    transition: background-color 0.25s ease 0s;
    background-color: #991B1E;
    -webkit-transform: skew(-12deg);
    transform: skew(-12deg);
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
}

.header .menubar .menu>li:last-child a:hover {
    background-color: transparent;
    color: #fff;
}

.header .menubar .menu>li:last-child a:hover::before {
    background-color: #3C3C3C;
}

.header .phone-wrap {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.header .phone-wrap p {
    font-family: "Teko", sans-serif;
    font-size: 36px !important;
    line-height: 1.22222;
    color: #212121;
    margin-bottom: 5px;
}

.header .phone-wrap a {
    font-family: "Teko", sans-serif;
    font-size: 20px !important;
    line-height: 0.95;
    font-weight: 700;
    color: #991B1E;
    margin-bottom: 0;
}

.topbar {
    background: #991B1E;
    height: 50px;
    margin-bottom: 25px;
}

.topbar .grid-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

.topbar ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-self: flex-end;
}

.topbar ul li,
.topbar ul li a {
    font-family: 'Teko';
    font-weight: 600;
    font-size: 20px;
    line-height: 29px;
    letter-spacing: 0.1em;
    color: #FFFFFF;
}

.topbar ul li.spacer {
    padding-left: 18px;
    padding-right: 18px;
}

.topbar ul li img {
    margin-right: 8px;
}

@media (max-width: 1439px) {
    .header .menubar .logo {
        max-width: 240px;
        flex-basis: 13%;
    }
    .header .menubar .menu-wrap {
        flex-basis: 87%;
    }
    .header .menubar .menu {
        margin-right: 20px;
        flex-basis: 87%;
    }
}

@media (max-width: 1289px) {
    .header {
        height: 88px !important;
    }
    .header .menubar .logo {
        max-width: 190px;
    }
    .header .menubar .menu {
        margin-right: 7px;
    }
    .header .menubar .menu li a {
        font-size: 16px !important;
        line-height: 1.5;
        padding: 12px 8px;
    }
    .header .menubar .menu li.is-dropdown-submenu-parent>a {
        padding-right: 20px;
    }
    .header .menubar .menu>li:last-child a {
        padding: 13px 12px 8px;
        font-size: 18px !important;
        line-height: 1.44444;
    }
    .header .phone-wrap p,
    .header .phone-wrap a {
        font-size: 18px !important;
        line-height: 1.2;
    }
    .header .sticky {
        padding: 0px 0 20px;
    }
}

@media (max-width: 1199px) {
    .header .menubar .logo {
        max-width: 160px;
        flex-basis: 13%;
    }
    .header .menubar .menu-wrap {
        flex-basis: 87%;
    }
}

@media (max-width: 1023px) {
    .header .menubar {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .header .menubar .menu li:last-child {
        display: block;
    }
    .header .menubar .logo {
        flex-basis: 100%;
    }
}

@media (max-width: 1023px) {
    .show-menu .mobmenu,
    .show-menu .hamburger {
        border-color: transparent;
    }
    .show-menu .mobmenu:before,
    .show-menu .mobmenu:after,
    .show-menu .hamburger:before,
    .show-menu .hamburger:after {
        content: "";
        position: absolute;
        left: 0;
        border-top: 3px solid #991B1E;
        right: 0;
        top: 6px;
    }
    .show-menu .mobmenu:before,
    .show-menu .hamburger:before {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    .show-menu .mobmenu:after,
    .show-menu .hamburger:after {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .show-menu #mobnav {
        bottom: 0;
    }
    .show-menu .header .sticky {
        background: #fff;
    }
    #mobnav {
        position: fixed;
        top: 133px;
        bottom: 100%;
        left: 0;
        right: 0;
        z-index: 9999;
        background: #991B1E;
        overflow: auto;
        -webkit-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }
    #mobnav ul {
        padding: 0;
        margin: 0;
        border-top: 1px solid #eaeaea;
    }
    #mobnav ul li {
        margin: 0;
        list-style: none;
        padding: 0;
        border-bottom: 1px solid #eaeaea;
    }
    #mobnav ul li a {
        font-weight: 700;
        font-size: 14px !important;
        line-height: 1.35714;
        text-transform: uppercase;
        color: #fff;
        padding: 17px 21px;
        position: relative;
        margin-right: 0;
        border-left: 5px solid #991B1E;
        background-color: #991B1E;
    }
    #mobnav ul li a:hover {
        background-color: #A6070C;
        color: #fff;
        border-left: 5px solid #fff;
    }
    #mobnav ul li a:focus {
        color: #A6070C;
        background-color: #fff;
        border-left: 5px solid #fff;
    }
    #mobnav ul li.is-accordion-submenu-parent a {
        background: #991B1E;
    }
    #mobnav ul li.is-accordion-submenu-parent a.selected {
        background: #991B1E;
        color: #fff;
        border-left: 5px solid #fff;
    }
    #mobnav ul li.is-accordion-submenu-parent a:focus {
        color: #fff;
    }
    #mobnav ul li.is-accordion-submenu-parent .submenu-toggle[aria-expanded="true"]~a {
        background: #991B1E;
        border-left: 5px solid #fff;
    }
    #mobnav ul li.is-accordion-submenu-parent ul.is-accordion-submenu {
        background: #A6070C;
    }
    #mobnav ul li.is-accordion-submenu-parent ul.is-accordion-submenu li {
        border-bottom: 1px solid #fff;
        padding-left: 20px;
    }
    #mobnav ul li.is-accordion-submenu-parent ul.is-accordion-submenu li a {
        background-color: #991B1E;
        color: #fff;
    }
    #mobnav .social-media-wrap {
        padding: 45px 0;
    }
    #mobnav .social-media-wrap label {
        font-weight: 700;
        font-size: 20px !important;
        line-height: 1;
        color: #000;
        text-align: center;
        margin-bottom: 30px;
    }
    #mobnav .social-media-wrap ul.social-media {
        border: none;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    #mobnav .social-media-wrap ul.social-media li {
        border: none;
        margin-left: 0px;
        margin-right: 20px;
    }
    #mobnav .social-media-wrap ul.social-media li:first-child {
        margin-left: 0;
    }
    #mobnav .social-media-wrap ul.social-media li:last-child {
        margin-right: 0;
    }
    #mobnav .social-media-wrap ul.social-media li a {
        padding: 0;
    }
    #mobnav .social-media-wrap ul.social-media li a:hover {
        background-color: transparent;
    }
    #mobnav .submenu-toggle {
        width: 50px;
        height: 53px;
    }
    #mobnav .submenu-toggle:after {
        content: "";
        background: url(../img/icn-chevron-right-white.svg) center/20% no-repeat;
        width: 50px;
        height: 53px;
        right: 0;
        border: none;
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    #mobnav .submenu-toggle[aria-expanded="true"] {
        background-color: #A6070C;
    }
    #mobnav .submenu-toggle[aria-expanded="true"]:after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    #mobnav .submenu-toggle[aria-expanded="true"]+a {
        background-color: #212121;
        color: #fff;
    }
    .mobmenu-wrap {
        position: relative;
        padding: 10px;
    }
    .mobmenu {
        font-size: 0;
        display: block;
        width: 21px;
        height: 17px;
        border-top: 3px solid #991B1E;
        border-bottom: 3px solid #991B1E;
        position: relative;
        margin: 5px;
        cursor: pointer;
    }
    .mobmenu:before {
        content: "";
        position: absolute;
        left: 0;
        border-top: 3px solid #991B1E;
        right: 0;
        top: 4px;
    }
    .hamburger {
        font-size: 0;
        display: block;
        width: 21px;
        height: 17px;
        border-top: 3px solid #991B1E;
        border-bottom: 3px solid #991B1E;
        position: relative;
        margin: 5px;
        position: absolute;
        right: 0;
        top: 0;
        left: 0;
        bottom: 0;
        margin: auto;
    }
    .hamburger:before {
        content: "";
        position: absolute;
        left: 0;
        border-top: 3px solid #991B1E;
        right: 0;
        top: 4px;
    }
    .mobile-right-panel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        max-width: 180px;
        width: 100%;
    }
    .mobile-right-panel .phone-wrap a {
        margin-top: 5px;
    }
    .mobile-right-panel .phone-wrap a i {
        display: none;
    }
}

@media (max-width: 639px) {
    .mobile-right-panel {
        max-width: 165px;
    }
    .topbar .grid-container {
        justify-content: center;
    }
    .topbar ul li,
    .topbar ul li a {
        font-size: 18px;
        line-height: 26px;
    }
}

@media (max-width: 413px) {
    .mobile-right-panel {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .mobile-right-panel .phone-wrap a {
        margin-right: 5px;
    }
    .mobile-right-panel .phone-wrap a span {
        display: none;
    }
    .mobile-right-panel .phone-wrap a i {
        display: inline;
    }
    .topbar ul li img {
        display: none;
    }
    .topbar ul li.spacer {
        text-align: center;
        padding-left: 8px;
        padding-right: 8px;
    }
}

@media (max-width: 359px) {
    .topbar ul li.spacer {
        padding-left: 4px;
        padding-right: 4px;
    }
}

.footer .copyright-wrap {
    background-color: #212121;
    padding: 30px 0;
}

.footer .copyright-wrap p {
    font-size: 16px !important;
    line-height: 0.875;
    color: #fff;
    font-weight: 400;
    margin-bottom: 0;
}

.footer .copyright-wrap p a {
    color: #fff;
    margin-bottom: 0;
}

.footer .copyright-wrap .grid-wrap {
    max-width: 460px;
    margin: 0 auto;
}

.footer .copyright-wrap label {
    font-size: 16px !important;
    line-height: 0.875;
    color: #fff;
    font-weight: 400;
    margin-bottom: 10px;
    text-align: center;
}

.footer .top-footer {
    padding: 130px 0 50px;
}

.footer .top-footer .grid-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .top-footer .grid-container>div {
    -ms-flex-preferred-size: 45%;
    flex-basis: 45%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .top-footer .grid-container>div:first-child {
    -ms-flex-preferred-size: 53%;
    flex-basis: 53%;
    margin-right: 30px;
}

.footer .top-footer .logo {
    width: 60%;
}

.footer .top-footer .logo a {
    display: block;
    font-family: "Teko", sans-serif;
    font-size: 40px !important;
    line-height: 1.2;
    color: #991B1E;
    font-weight: 700;
    margin-bottom: 0;
    text-align: center;
    letter-spacing: 8px;
}

.footer .top-footer .logo img {
    margin-bottom: 10px;
    max-width: 330px;
}

.footer .top-footer label {
    font-size: 21px !important;
    line-height: 1.80952;
    font-weight: 400;
    margin-bottom: 5px;
}

.footer .top-footer .local-office {
    padding-left: 20px;
    padding-right: 80px;
    margin-bottom: 25px;
}

.footer .top-footer .local-office p {
    font-size: 16px !important;
    line-height: 1.5;
    margin-bottom: 5px;
    font-weight: 400;
}

.footer .top-footer .local-office a {
    font-size: 16px !important;
    line-height: 1.5;
    color: #991B1E;
    font-weight: 400;
}

.footer .top-footer .quick-links {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
}

.footer .top-footer .quick-links .menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
}

.footer .top-footer .quick-links .menu li a {
    font-size: 16px !important;
    line-height: 1.5;
    color: #991B1E;
    padding: 0;
}

.footer .top-footer .follow-us {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}

.footer .top-footer .social-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 250px;
}

.footer .top-footer .social-link li a {
    display: block;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    background-color: #991B1E;
    color: #fff;
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.footer .top-footer .social-link li a.fb {
    background-color: #4267B2;
}

.footer .top-footer .social-link li a.insta {
    background-color: #262626;
}

.footer .top-footer .social-link li a.linkedin {
    background-color: #0077B5;
}

.footer .top-footer .social-link li a.googlemap {
    background-color: #EA4335;
}

.footer .top-footer .social-link li a svg[data-use] {
    height: 22px;
    width: 22px;
    fill: #fff;
    font-size: 22px;
}

@media (max-width: 1439px) {
    .footer .top-footer .logo img {
        max-width: 280px;
    }
    .footer .top-footer .logo a {
        font-size: 32px !important;
        line-height: 1.125;
        margin-bottom: 0;
    }
    .footer .top-footer .local-office {
        padding-right: 50px;
    }
}

@media (max-width: 1279px) {
    .footer .top-footer .grid-container>div:first-child {
        margin-right: 20px;
    }
    .footer .top-footer .logo img {
        max-width: 260px;
    }
    .footer .top-footer .logo a {
        font-size: 26px !important;
        line-height: 1.30769;
        margin-bottom: 0;
    }
    .footer .top-footer .social-link {
        max-width: 220px;
    }
    .footer .top-footer .social-link li a {
        padding: 10px;
    }
    .footer .top-footer .social-link li a svg[data-use] {
        height: 18px;
        width: 18px;
        font-size: 18px;
    }
}

@media (max-width: 1023px) {
    .footer .top-footer {
        padding: 0 10px 30px;
    }
    .footer .top-footer .grid-container>div {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .footer .top-footer .logo {
        width: auto;
        margin-bottom: 30px;
    }
    .footer .top-footer .logo a {
        max-width: 330px;
        font-size: 24px !important;
        line-height: 1.33333;
        text-align: left;
    }
    .footer .top-footer .logo a:last-child {
        margin-left: 10px;
    }
    .footer .top-footer .quick-links,
    .footer .top-footer .local-office {
        margin-bottom: 30px;
        padding: 0;
    }
    .footer .top-footer .local-office p br:last-child {
        display: none;
    }
}

@media (max-width: 639px) {
    .footer .top-footer .grid-container {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .footer .top-footer .social-link li {
        width: 34px;
        height: 34px;
    }
    .footer .top-footer .social-link li a {
        padding: 8px;
    }
    .footer .copyright-wrap p {
        font-size: 15px !important;
        line-height: 1.53333;
    }
}

body,
html,
.wrapper {
    height: 100%;
}

.wrapper .sticky-to-top {
    position: fixed;
    bottom: 70px;
    width: 100%;
    z-index: 9999;
}

.sec-thankyou,
.sec-404 {
    height: calc(100vh - 468px);
    padding: 100px 0;
}

.sec-thankyou .grid-container,
.sec-thankyou .grid-x,
.sec-404 .grid-container,
.sec-404 .grid-x {
    height: 100%;
}

.sec-thankyou h1,
.sec-404 h1 {
    font-weight: 700;
    font-size: 42px !important;
    line-height: 1.14286;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #333;
    margin-bottom: 15px;
}

.sec-thankyou p,
.sec-404 p {
    font-weight: 400;
    font-size: 18px !important;
    line-height: 1.55556;
    color: #333;
    margin-bottom: 35px;
    text-align: center;
}

@media (max-width: 1279px) {
    .sec-thankyou,
    .sec-404 {
        height: calc(100vh - 433px);
        padding: 50px 0;
    }
}

@media (max-width: 1023px) {
    .sec-thankyou,
    .sec-404 {
        height: calc(100vh - 201px);
    }
}

@media (max-width: 639px) {
    .sec-thankyou,
    .sec-404 {
        height: calc(100vh - 292px);
    }
}

.hero-banner {
    position: relative;
    margin-top: 150px;
}

.hero-banner .video-wrap,
.hero-banner .image-wrap {
    background: url("../img/video-bg.jpg") top/cover no-repeat;
}

.hero-banner .video-wrap:after,
.hero-banner .image-wrap:after {
    content: '';
    width: 100%;
    height: calc(100% - 6px);
    position: absolute;
    top: -6px;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background: #000;
    opacity: 0.5;
    -webkit-clip-path: polygon(100% 0, 100% 80%, 0 100%, 0 20%);
    clip-path: polygon(100% 0, 100% 80%, 0 100%, 0 20%);
}

.hero-banner .image-wrap:after {
    height: 100%;
    top: 0;
    opacity: 0.5;
}

.hero-banner video,
.hero-banner img {
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(100% 0, 100% 80%, 0 100%, 0 20%);
    clip-path: polygon(100% 0, 100% 80%, 0 100%, 0 20%);
}

.hero-banner .text-wrap {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2;
    max-width: 1090px;
    max-height: 500px;
}

.hero-banner .text-wrap a.button {
    font-size: 30px !important;
    line-height: 1.26667;
}

.hero-banner h1 {
    font-weight: 400;
    font-size: 96px !important;
    line-height: 0.84375;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 0;
}

.hero-banner h2 {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 35px !important;
    line-height: 1.51429;
    text-align: center;
    text-transform: none;
    color: #fff;
    margin: 0 auto 20px;
    max-width: 980px;
}

.hero-banner p {
    font-weight: 400;
    font-size: 22px !important;
    line-height: 1.36364;
    text-align: center;
    color: #fff;
}

.hero-banner p:last-child {
    margin-bottom: 30px;
}

.hero-banner.about-hero-banner,
.hero-banner.service-hero-banner,
.hero-banner.faq-hero-banner {
    margin-top: 50px;
}

.hero-banner.about-hero-banner .text-wrap,
.hero-banner.service-hero-banner .text-wrap,
.hero-banner.faq-hero-banner .text-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.hero-banner.about-hero-banner .text-wrap p,
.hero-banner.service-hero-banner .text-wrap p {
    margin-bottom: 20px;
}

.hero-banner.about-hero-banner .image-wrap:after,
.hero-banner.service-hero-banner .image-wrap:after {
    height: calc(100% + 1px);
}

.hero-banner.faq-hero-banner .text-wrap h1 {
    margin-bottom: 15px;
}

.hero-banner.faq-hero-banner .text-wrap,
.hero-banner.faq-hero-banner .text-wrap h2 {
    max-width: 1320px;
}

.hero-banner.faq-hero-banner .text-wrap {
    padding: 0 30px;
}

.hero-banner.service-hero-banner {
    z-index: 0;
}

.hero-banner.service-hero-banner .text-wrap {
    max-width: 1200px;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 50px 0;
}

.hero-banner.service-hero-banner .text-wrap .wp-block-group__inner-container {
    margin: 0 auto;
}

.hero-banner.service-hero-banner .text-wrap h2 {
    margin-bottom: 50px;
}

.hero-banner.about-hero-banner.service-state-hero-banner h1 {
    max-width: 810px;
    margin: 0 auto 30px;
}

.hero-banner.service-state-hero-banner .text-wrap {
    max-width: 1160px;
}

@media (max-width: 1439px) {
    .hero-banner .text-wrap {
        max-width: 950px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .hero-banner h1 {
        font-size: 75px !important;
        line-height: 1.06667;
    }
    .hero-banner h2 {
        font-size: 28px !important;
        line-height: 1.60714;
        max-width: 860px;
    }
    .hero-banner .image-wrap img {
        min-height: 800px;
    }
}

@media (max-width: 1279px) {
    .hero-banner .text-wrap {
        max-width: 750px;
    }
    .hero-banner .text-wrap a.button {
        font-size: 26px !important;
        line-height: 1.30769;
    }
    .hero-banner h1 {
        font-size: 56px !important;
        line-height: 1.16071;
    }
    .hero-banner h2 {
        font-size: 24px !important;
        line-height: 1.66667;
        max-width: 560px;
    }
    .hero-banner .image-wrap img {
        min-height: 600px;
    }
    .hero-banner.about-hero-banner .text-wrap {
        max-width: 850px;
    }
    .hero-banner.about-hero-banner p {
        font-size: 18px !important;
        line-height: 1.44444;
    }
    .hero-banner.service-hero-banner .text-wrap {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .hero-banner.service-hero-banner .text-wrap h2 {
        max-width: 100%;
        margin-bottom: 30px;
    }
}

@media (max-width: 1023px) {
    .hero-banner {
        margin-top: 130px;
    }
    .hero-banner .text-wrap {
        max-width: 720px;
        padding: 0 20px;
    }
    .hero-banner .text-wrap a.button {
        font-size: 20px !important;
        line-height: 1.4;
    }
    .hero-banner h1 {
        font-size: 48px !important;
        line-height: 1.125;
    }
    .hero-banner h2 {
        font-size: 20px !important;
        line-height: 1.6;
    }
    .hero-banner .video-wrap {
        margin-bottom: 50px;
    }
    .hero-banner .image-wrap img {
        min-height: 100%;
    }
    .hero-banner.about-hero-banner .text-wrap,
    .hero-banner.service-hero-banner .text-wrap {
        position: relative;
        max-height: 100%;
        margin-bottom: 30px;
    }
    .hero-banner.about-hero-banner .image-wrap,
    .hero-banner.service-hero-banner .image-wrap {
        margin-bottom: 50px;
    }
    .hero-banner.about-hero-banner .image-wrap::after,
    .hero-banner.service-hero-banner .image-wrap::after {
        display: none;
    }
    .hero-banner.about-hero-banner h1,
    .hero-banner.service-hero-banner h1 {
        font-size: 42px !important;
        line-height: 1.2381;
        color: #991B1E;
        margin-bottom: 0;
    }
    .hero-banner.about-hero-banner h2,
    .hero-banner.about-hero-banner p,
    .hero-banner.service-hero-banner h2,
    .hero-banner.service-hero-banner p {
        color: #3C3C3C;
    }
    .hero-banner.service-hero-banner .text-wrap {
        padding: 0 20px;
        margin-bottom: 50px;
    }
}

@media (max-width: 767px) {
    .hero-banner .video-wrap::after,
    .hero-banner .image-wrap::after {
        display: none;
    }
    .hero-banner .text-wrap {
        max-width: 640px;
        position: relative;
    }
    .hero-banner h1 {
        font-size: 42px !important;
        line-height: 1.2381;
        color: #991B1E;
    }
    .hero-banner h2 {
        color: #3C3C3C;
    }
}

@media (max-width: 639px) {
    .hero-banner .text-wrap {
        padding: 0 20px;
    }
    .hero-banner .text-wrap a.button {
        font-size: 21px !important;
        line-height: 1.19048;
    }
    .hero-banner h1 {
        font-size: 36px !important;
        line-height: 1.27778;
    }
    .hero-banner h2 {
        font-size: 18px !important;
        line-height: 1.44444;
    }
    .hero-banner.service-hero-banner .text-wrap h1 {
        font-size: 40px !important;
        line-height: 1.125;
    }
}

.sec-badge {
    margin-top: -150px;
    position: relative;
    z-index: 5;
    margin-bottom: 80px;
}

.sec-badge .badge-wrap {
    padding: 60px;
    background: #fff;
    -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
    box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    min-height: 345px;
}

.sec-badge figure {
    text-align: center;
}

.sec-badge figure>img {
    text-align: center;
    margin-bottom: 42px;
}

.sec-badge label,
.sec-badge figcaption {
    font-family: "Teko", sans-serif;
    font-weight: 400;
    font-size: 34px !important;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    color: #991B1E;
    min-height: 70px;
}

.sec-badge .services-guarantee {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 780px;
    margin: 80px auto 30px;
}

.sec-badge .services-guarantee>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 780px;
    margin: 0 auto;
    width: 100%;
}

.sec-badge .services-guarantee .service-item {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
    min-height: 175px;
}

.sec-badge .services-guarantee .service-item img {
    margin-bottom: 30px;
    height: 105px;
    width: auto;
}

.sec-badge .services-guarantee .service-item label {
    min-height: auto;
    color: #000;
    text-transform: none;
}

.sec-badge.sec-badge-inner {
    margin-top: 0;
    margin-bottom: 40px;
}

.sec-badge.sec-badge-inner .badge-wrap {
    padding: 30px 20px;
}

.sec-badge.sec-badge-inner .badge-wrap>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.sec-badge.sec-badge-inner figure>img {
    min-height: 115px;
}

.sec-badge.sec-badge-inner figcaption {
    min-height: auto;
}

.sec-badge.sec-badge-inner .services-guarantee figcaption {
    color: #000;
    text-transform: none;
}

@media (max-width: 1365px) {
    .sec-badge {
        margin-top: -80px;
    }
}

@media (max-width: 1279px) {
    .sec-badge {
        margin-top: -40px;
    }
    .sec-badge.sec-badge-inner {
        margin-bottom: 0;
    }
    .sec-badge.sec-badge-inner .badge-wrap {
        min-height: 270px;
        padding: 30px 15px;
    }
    .sec-badge.sec-badge-inner .badge-wrap.google-review {
        padding-left: 9px;
        padding-right: 9px;
    }
    .sec-badge.sec-badge-inner .badge-wrap.google-review figcaption {
        font-size: 24px !important;
        line-height: 1.33333;
    }
    .sec-badge.sec-badge-inner figure>img {
        margin-bottom: 20px;
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
        min-height: 125px;
    }
    .sec-badge.sec-badge-inner figcaption {
        font-size: 26px !important;
        line-height: 1.23077;
    }
    .sec-badge .services-guarantee {
        margin-top: 40px;
    }
    .sec-badge .services-guarantee figcaption {
        font-size: 32px !important;
        line-height: 1.125;
    }
}

@media (max-width: 1023px) {
    .sec-badge {
        margin-top: 0;
        margin-bottom: 0;
        padding: 40px 0 30px;
    }
    .sec-badge .grid-x {
        margin-bottom: 0;
    }
    .sec-badge .badge-wrap {
        max-width: 260px;
        margin: 0 auto 30px;
        padding: 30px;
        min-height: 295px;
    }
    .sec-badge label,
    .sec-badge figcaption {
        min-height: 100%;
    }
    .sec-badge.sec-badge-inner {
        margin-top: 0;
        margin-bottom: 0;
    }
    .sec-badge.sec-badge-inner .badge-wrap {
        min-height: 210px;
        padding: 20px 20px;
    }
    .sec-badge.sec-badge-inner .badge-wrap.google-review {
        padding-left: 10px;
        padding-right: 10px;
    }
    .sec-badge.sec-badge-inner figure>img {
        max-width: 100%;
        min-height: auto;
        -webkit-transform: scale(0.8);
        transform: scale(0.8);
    }
    .sec-badge.sec-badge-inner figcaption {
        font-size: 24px !important;
        line-height: 1.25;
    }
    .sec-badge .services-guarantee>.wp-block-group__inner-container {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
}

@media (max-width: 767px) {
    .sec-badge.sec-badge-inner .badge-wrap.google-review figcaption {
        font-size: 22px !important;
        line-height: 1.36364;
    }
}

@media (max-width: 639px) {
    .sec-badge .badge-wrap {
        min-height: 255px;
    }
    .sec-badge.sec-badge-inner .badge-wrap {
        min-height: 200px;
    }
    .sec-badge.sec-badge-inner .badge-wrap.google-review figcaption {
        font-size: 24px !important;
        line-height: 1.33333;
    }
    .sec-badge .services-guarantee {
        margin-top: 40px;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
    .sec-badge .services-guarantee>.wp-block-group__inner-container {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
    .sec-badge .services-guarantee .service-item {
        padding: 0 10px;
        margin-bottom: 30px;
    }
    .sec-badge .services-guarantee .service-item img {
        height: 85px;
    }
    .sec-badge .services-guarantee .service-item:last-child {
        margin-bottom: 0;
    }
}

@media (max-width: 413px) {
    .sec-badge label,
    .sec-badge figcaption {
        font-size: 28px !important;
        line-height: 1;
    }
    .sec-badge .badge-wrap {
        padding: 30px 20px;
    }
}

.sec-text-image {
    padding: 80px 0 60px;
}

.sec-text-image>.grid-container {
    z-index: 1;
    position: relative;
}

.sec-text-image .text-wrap {
    max-width: 755px;
}

.sec-text-image .padd-left-15 {
    padding-left: 15% !important;
}

.max-w-785 {
    max-width: 785px !important;
}

.max-w-1400 {
    max-width: 1400px;
    margin-left: auto !important;
    margin-right: auto !important;
}

.sec-text-image .text-wrap.wide {
    max-width: 795px;
}

.sec-text-image .grid-x:not(.grid-margin-x) .text-wrap {
    padding-right: 30px;
    width: 100%;
}

.sec-text-image ul {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    max-width: 720px;
}

.sec-text-image ul.single-col {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
}

.sec-text-image ul li {
    margin-bottom: 10px;
    margin-left: 35px;
    font-weight: 400;
    font-size: 16px !important;
    line-height: 1.5625;
    color: #3C3C3C;
    position: relative;
}

.sec-text-image ul li:before {
    content: '';
    margin-left: -30px;
    display: block;
    width: 15px;
    height: 15px;
    background: #991B1E;
    border-radius: 15px;
    position: absolute;
    top: 5px;
    left: 0;
    -webkit-box-shadow: 0 0 0 1px #c4c4c4;
    box-shadow: 0 0 0 1px #c4c4c4;
    border: 3px solid #fff;
}

.sec-text-image ul.single-column {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
}

.sec-text-image ul.double-column {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
}

.sec-text-image p {
    font-size: 16px !important;
    line-height: 1.5;
    color: #3C3C3C;
    margin-bottom: 30px;
}

.sec-text-image p a {
    color: #991B1E;
}

.sec-text-image label {
    font-family: "Teko", sans-serif;
    font-weight: 600;
    font-size: 34px !important;
    line-height: 1.44118;
    text-transform: uppercase;
    color: #000;
    margin-bottom: 20px;
}

.sec-text-image label a {
    color: #991B1E;
}

.sec-text-image .button-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.sec-text-image .button-wrap a {
    margin-right: 20px;
}

.sec-text-image .form-wrap {
    background-color: #8C2825;
    padding: 45px 35px 20px;
}

.sec-text-image .form-wrap h2 {
    color: #fff;
    margin-bottom: 30px;
}

.sec-text-image .form-wrap .gform_footer input.button {
    color: #fff;
    background-color: #000;
    min-width: 250px;
    width: 100%;
}

.sec-text-image .form-wrap .gform_footer input.button:hover {
    background-color: #3C3C3C;
}

.sec-text-image .form-wrap .gform_wrapper.gravity-theme .gform_validation_errors {
    background: rgba(255, 249, 249, 0.2);
}

.sec-text-image .coupon-item-wrap {
    max-width: 450px;
    margin: 0 auto;
}

.sec-text-image .coupon-item-wrap.mini-coupon .offer-wrap .offer-item-wrap .text-wrap {
    min-height: 180px;
}

.sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap {
    max-width: 400px;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    -ms-flex-preferred-size: 48%;
    flex-basis: 48%;
}

.sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap>.wp-block-group__inner-container {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap:first-child .offer-wrap .offer-item-wrap .text-wrap,
.sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap:nth-child(2) .offer-wrap .offer-item-wrap .text-wrap {
    min-height: 360px;
}

.sec-text-image .image-semi-bg-wrap {
    z-index: -1;
    position: absolute;
    width: 100%;
    height: auto;
    right: 0;
    top: 0;
    text-align: right;
}

.col-image-bg-right {
    overflow: hidden;
}

.sec-faq-accord ul.accordion {
    list-style: none;
    column-count: 1;
    max-width: 930px;
    margin: 0 auto;
}

.sec-faq-accord ul.accordion li.accordion-item {
    margin: 0;
}

.sec-faq-accord ul.accordion li.accordion-item>a.accordion-title {
    font-family: 'Teko';
    font-weight: 500;
    font-size: 34px;
    line-height: 40px;
    text-transform: uppercase;
    color: #FFFFFF;
    background: #990000;
    padding: 25px 60px 20px 35px;
}

.sec-faq-accord ul.accordion li.accordion-item>a.accordion-title:hover {
    background: rgba(153, 0, 0, 0.8);
}

.sec-faq-accord ul.accordion li.accordion-item>a.accordion-title:before {
    right: 25px;
    top: 20px;
    margin-top: 0;
    border: 2px solid #FFF;
    border-radius: 50%;
    padding: 0px 12px;
    font-size: 22px;
    font-family: 'Lato';
    font-weight: 700;
}

.sec-faq-accord ul.accordion li.accordion-item:before {
    display: none;
}

.sec-faq-accord ul.accordion li.accordion-item .accordion-content {
    background: #990000;
    padding: 30px 60px 40px 40px;
}

.sec-faq-accord ul.accordion ul.single-column {
    max-width: 100%;
}

.sec-faq-accord ul.accordion li.accordion-item .accordion-content p,
.sec-faq-accord ul.accordion li.accordion-item .accordion-content p a,
.sec-faq-accord ul.accordion li.accordion-item .accordion-content ul>li {
    font-family: 'Lato';
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #FFFFFF;
}

.sec-faq-accord ul.accordion li.accordion-item .accordion-content p a {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.sec-faq-accord ul.accordion li.accordion-item .accordion-content p a:hover {
    text-decoration-thickness: 1.5px;
}

.sec-faq-accord ul.accordion li.accordion-item .accordion-content p:last-child {
    margin-bottom: 0;
}

.sec-faq-accord ul.accordion li.accordion-item .accordion-content ul>li:before {
    background: #212121;
}

@media (max-width: 1439px) {
    .sec-text-image .image-semi-bg-wrap {
        right: -150px;
    }
}

@media (max-width: 1199px) {
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap .offer-wrap .offer-item-wrap .text-wrap {
        padding-left: 5px;
        padding-right: 5px;
    }
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap .offer-wrap .offer-item-wrap .text-wrap .text-bottom-wrap a.button {
        font-size: 18px !important;
        line-height: 1.44444;
    }
}

@media (max-width: 1023px) {
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap:first-child .offer-wrap .offer-item-wrap .text-wrap,
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap:nth-child(2) .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 260px;
    }
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap .offer-wrap {
        width: 100%;
    }
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap .offer-wrap .offer-item-wrap .text-wrap {
        padding-left: 15px;
        padding-right: 15px;
        width: 100%;
        min-height: 260px;
    }
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap .offer-wrap .offer-item-wrap .text-wrap .text-bottom-wrap a.button {
        max-width: 90%;
        font-size: 21px !important;
        line-height: 1.38095;
    }
    .sec-text-image .padd-left-15 {
        padding-left: 0 !important;
    }
    .sec-text-image .image-semi-bg-wrap {
        right: 0;
        position: static;
        text-align: center;
    }
    .sec-text-image.col-image-bg-right h2 br {
        display: block;
    }
    .sec-faq-accord ul.accordion {
        padding: 0 20px;
    }
    .sec-faq-accord ul.accordion li.accordion-item>a.accordion-title {
        padding-right: 65px;
    }
}

@media (max-width: 767px) {
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap .offer-wrap {
        margin-bottom: 0 !important;
    }
    .sec-text-image.col-image-bg-right h2 br {
        display: none;
    }
    .hero-banner.faq-hero-banner .text-wrap {
        padding: 30px 20px 0;
    }
    .sec-faq-accord ul.accordion li.accordion-item>a.accordion-title:before {
        right: 15px;
    }
    .sec-faq-accord ul.accordion {
        padding: 0 10px;
    }
    .sec-faq-accord ul.accordion li.accordion-item>a.accordion-title {
        font-size: 28px;
        padding-left: 25px;
    }
    .sec-faq-accord ul.accordion li.accordion-item .accordion-content {
        padding: 30px 30px 40px 30px;
    }
    .sec-faq-accord ul.accordion li.accordion-item>a.accordion-title:before {
        top: 25%;
    }
}

@media (max-width: 413px) {
    .sec-text-image .flex-coupon-wrap>.wp-block-group__inner-container .coupon-item-wrap .offer-wrap .offer-item-wrap .text-wrap .text-bottom-wrap a.button {
        max-width: 100%;
    }
}

.sec-text-image .red-box-border {
    background-color: #991B1E;
    padding: 17px;
    margin-bottom: 30px;
    max-width: 690px;
}

.sec-text-image .red-box-border .white-box-border {
    border: 1px solid #C4C4C4;
    padding: 37px 30px 35px;
    height: 100%;
    text-align: center;
}

.sec-text-image .red-box-border .white-box-border h2 {
    text-align: center;
    color: #fff;
    margin-bottom: 30px;
}

.sec-text-image .red-box-border .white-box-border p {
    text-align: center;
    font-size: 30px !important;
    line-height: 1.26667;
    margin: 0 auto 70px;
    color: #fff;
}

.sec-text-image .red-box-border .white-box-border a.button {
    font-size: 18px !important;
    line-height: 1.55556;
    margin-bottom: 30px;
}

.sec-text-image.bg-perfect-ac {
    background: url("../img/img-bg-pick-perfect-ac.jpg") top/cover no-repeat;
    padding: 190px 0;
}

.bg-perfect-ac.v2 {
    padding: 400px 0 170px;
}

.bg-perfect-ac.v2 h2 {
    max-width: 1280px;
    font-weight: 500;
    margin: 0 auto;
}

.sec-text-image.bg-perfect-ac .text-wrap {
    max-width: 720px;
}

.sec-text-image.bg-perfect-ac .text-wrap h2 {
    max-width: 450px;
}

.sec-text-image.bg-perfect-ac .text-wrap h2.full-width {
    max-width: 100%;
}

@media (max-width: 1279px) {
    .sec-text-image label {
        font-size: 30px !important;
        line-height: 1.5;
    }
    .sec-text-image.bg-perfect-ac {
        background-image: url("../img/img-bg-pick-perfect-ac-tablet.jpg");
        padding: 190px 0 120px;
        background-position: 30% top;
    }
    .sec-text-image .form-wrap {
        padding: 30px 20px 20px;
    }
    .sec-text-image .form-wrap h2 {
        margin-bottom: 10px;
    }
    .bg-perfect-ac.v2 {
        padding-top: 290px;
    }
    .bg-perfect-ac.v2 h2 br {
        display: none;
    }
}

@media (max-width: 1023px) {
    .sec-text-image {
        padding: 40px 0 30px;
    }
    .sec-text-image .image-wrap-bg-logo {
        margin-top: 40px;
        margin-bottom: 40px;
    }
    .sec-text-image label {
        font-size: 28px !important;
        line-height: 1.42857;
    }
    .sec-text-image .text-wrap {
        margin: 0 auto 30px;
    }
    .sec-text-image .coupon-item-wrap {
        margin: 20px auto;
    }
    .sec-text-image .grid-x:not(.grid-margin-x) .text-wrap {
        padding-right: 0;
        width: 100%;
    }
    .sec-text-image h2 br {
        display: none;
    }
    .sec-text-image p:last-child {
        margin-bottom: 0;
    }
    .sec-text-image a.button {
        display: block;
        max-width: 50%;
        margin: 0 auto;
    }
    .sec-text-image a.button.dark {
        max-width: 70%;
    }
    .sec-text-image .form-wrap {
        max-width: 640px;
        margin: 0 auto;
    }
    .sec-text-image .form-wrap h2 {
        margin-bottom: 20px;
    }
    .sec-text-image.bg-perfect-ac .text-wrap h2 {
        max-width: 100%;
    }
    .sec-text-image.bg-perfect-ac .text-wrap h2.full-width {
        max-width: 600px;
        margin: 0 auto;
    }
    .sec-text-image .red-box-border {
        margin: 0 auto;
    }
    .sec-text-image .red-box-border .white-box-border p {
        margin-bottom: 40px;
    }
    .sec-text-image .red-box-border .white-box-border a.button {
        margin-bottom: 10px;
    }
}

@media (max-width: 639px) {
    .sec-text-image {
        padding-left: 10px;
        padding-right: 10px;
    }
    .sec-text-image .button-wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .sec-text-image .button-wrap a {
        margin-right: auto;
        margin-bottom: 20px;
    }
    .sec-text-image ul {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
        padding-right: 20px;
    }
    .sec-text-image ul.single-column {
        padding-right: 0;
    }
    .sec-text-image ul.double-column {
        padding-right: 0;
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
    .sec-text-image .image-wrap-bg-logo {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .sec-text-image .form-wrap {
        padding-left: 15px;
        padding-right: 15px;
    }
    .sec-text-image .form-wrap .gform_footer input.button {
        line-height: 1.19048 !important;
    }
    .sec-text-image a.button.dark,
    .sec-text-image a.button {
        max-width: 92%;
    }
    .sec-text-image .red-box-border .white-box-border {
        padding: 27px 15px 25px;
    }
    .sec-text-image .red-box-border .white-box-border p {
        font-size: 24px !important;
        line-height: 1.33333;
    }
    .sec-text-image.bg-perfect-ac {
        background-position: 30% top;
        background-image: url("../img/img-bg-pick-perfect-ac-mobile.jpg");
        padding: 170px 10px 80px;
    }
}

@media (max-width: 413px) {
    .sec-text-image .red-box-border .white-box-border {
        padding: 27px 15px 25px;
    }
    .sec-text-image .red-box-border .white-box-border p {
        font-size: 20px !important;
        line-height: 1.4;
    }
    .sec-text-image ul.double-column {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }
    .sec-text-image a.button.dark,
    .sec-text-image a.button {
        max-width: 95%;
    }
    .sec-text-image.bg-perfect-ac {
        padding: 150px 10px 80px;
        background-position: 30% -30px;
    }
}

.google-reviews {
    margin: 30px auto 0;
    max-width: 640px;
}

@media (max-width: 767px) {
    .google-reviews {
        max-width: 580px;
    }
}


/* Service Area */

.sec-form-text-column {
    padding: 0px 20px 80px
}

.sec-form-text-column .sec-text-image {
    padding: 0;
}

.sec-form-text-column p {
    font-size: 22px;
}

.sec-common-issue-ac {
    padding: 80px 20px 60px;
}
.sec-common-issue-ac.no-padd{
	padding-top: 0;
	padding-bottom: 0;
}
.no-padd {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 20px!important;
    padding-right: 20px!important;
}
.max-400 {
    max-width: 400px!important;
}
.margin-centered {
    margin-left: auto!important;
    margin-right: auto!important;
}

.sec-common-issue-ac>.wp-block-group__inner-container {
    max-width: 1440px;
}

.sec-common-issue-ac .header-wrap {
    max-width: 960px;
    margin: 0 auto 50px;
    text-align: center;
}

.sec-common-issue-ac .header-wrap h2,
.sec-common-issue-ac .header-wrap h3 {
    max-width: 780px;
    margin: 0 auto 20px;
}

.sec-common-issue-ac .header-wrap.wide h2,
.sec-common-issue-ac .header-wrap.wide h3 {
    max-width: 860px;
}

.sec-common-issue-ac .header-wrap h3 {
    font-weight: 400;
    font-size: 59px;
    line-height: 57px;
    text-transform: uppercase;
    color: #991B1E;
    font-family: "Teko", sans-serif;
}

.sec-common-issue-ac .common-issue-grid h3 {
    font-family: "Teko", sans-serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 40px;
    text-align: center;
    text-transform: uppercase;
    color: #991B1E;
}

.sec-common-issue-ac .common-issue-grid .image-wrap-bg-logo {
    margin-bottom: 30px;
}

.sec-common-issue-ac .common-issue-grid p {
    font-weight: 400;
    font-size: 22px;
    line-height: 30px;
    text-align: center;
    color: #3C3C3C;
}

.common-issue-grid>.wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}

.common-issue-item {
    width: 31%;
}
.common-issue-item .image-wrap-bg-logo img{
	min-height: 289px;
}

.section-service-area-main {
    padding: 80px 0 60px;
}

.section-service-area-main .col-links-container {
    max-width: 960px;
    margin: 0 auto;
    align-items: flex-start;
}

.section-service-area-main .col-links-container p>a {
    font-size: 24px;
}

.section-service-area-main .col-links-container p {
    margin-bottom: 15px;
}

@media (max-width: 1600px) {
	.common-issue-item .image-wrap-bg-logo img{
		min-height: 285px;
	}
}
@media (max-width: 1439px) {
	.common-issue-item .image-wrap-bg-logo img{
		min-height: 100%;
	}
}
@media (max-width: 1199px) {
    .sec-common-issue-ac .common-issue-grid p {
        font-size: 18px;
    }
    .common-issue-grid>.wp-block-group__inner-container {
        gap: 15px;
    }
}

@media (max-width: 1023px) {
    .common-issue-item {
        width: 47%;
    }
    .sec-form-text-column p {
        font-size: 18px;
    }
}

@media (max-width: 639px) {
    .common-issue-item {
        width: 100%;
    }
    .sec-form-text-column {
        padding: 30px 00px 20px;
    }
    .sec-common-issue-ac .header-wrap h2 br {
        display: none;
    }
    .section-service-area-main {
        padding: 40px 0 30px;
    }
}

@media (max-width: 413px) {
    .section-service-area-main .col-links-container {
        flex-direction: column;
    }
}

.services-you-can-rely {
    margin-top: 50px;
    padding: 100px 0 60px;
    position: relative;
}

.services-you-can-rely::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 500px;
    z-index: -1;
    background: #991B1E;
    -webkit-clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);
    clip-path: polygon(0 5%, 100% 0, 100% 95%, 0 100%);
}

.services-you-can-rely::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 500px;
    z-index: -1;
    background: #000;
    -webkit-clip-path: polygon(0 0, 100% 10%, 100% 100%, 0 90%);
    clip-path: polygon(0 0, 100% 10%, 100% 100%, 0 90%);
}

.services-you-can-rely .service-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.services-you-can-rely .service-items .service-item {
    position: relative;
}

.services-you-can-rely .service-items .service-item a:hover .image-wrap img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}

.services-you-can-rely .service-items .service-item .image-wrap {
    overflow: hidden;
}

.services-you-can-rely .service-items .service-item .image-wrap img {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.services-you-can-rely .service-items .service-item .image-wrap::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: -webkit-gradient(linear, left bottom, left top, from(#333333), to(rgba(51, 51, 51, 0)));
    background: linear-gradient(0deg, #333333 0%, rgba(51, 51, 51, 0) 100%);
}

.services-you-can-rely .service-items .service-item p {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 50px;
    margin: auto;
    text-align: center;
    font-family: "Teko", sans-serif;
    font-weight: 500;
    font-size: 34px !important;
    line-height: 1.44118;
    text-transform: uppercase;
    color: #fff;
}

.services-you-can-rely h2 {
    color: #fff;
    line-height: 40px;
}

.services-you-can-rely h3 {
    color: #BDBDBD;
}

.services-you-can-rely .text-wrap {
    margin-bottom: 45px;
    padding: 0 10px;
}

.services-you-can-rely a.button {
    font-size: 18px !important;
    line-height: 1.55556;
}

@media (max-width: 1023px) {
    .services-you-can-rely {
        padding: 70px 0 30px;
    }
    .services-you-can-rely::before {
        max-height: 300px;
    }
    .services-you-can-rely::after {
        max-height: 300px;
    }
    .services-you-can-rely .service-items {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .services-you-can-rely .service-items .service-item {
        max-width: 650px;
        margin: 0 auto 20px;
    }
    .services-you-can-rely .text-wrap {
        margin-bottom: 95px;
    }
}

.section-offer {
    padding: 80px 0 60px;
}

.section-offer h2 {
    margin-bottom: 50px;
}

.section-offer .offer-wrap {
    height: 100%;
}

.section-offer .offer-wrap .offer-item-wrap .text-wrap {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.section-offer .grid-x .cell {
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

@media (max-width: 1439px) {
    .section-offer .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 240px;
        width: 100%;
    }
    .section-offer.home .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 340px;
    }
}

@media (max-width: 1279px) {
    .section-offer.home .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 240px;
    }
}

@media (max-width: 1023px) {
    .section-offer {
        padding: 40px 0 30px;
    }
    .section-offer .cell {
        margin-bottom: 30px;
    }
    .section-offer .offer-wrap .offer-item-wrap .text-wrap {
        min-height: auto;
        width: 100%;
    }
}

@media (max-width: 639px) {
    .section-offer {
        padding-left: 10px;
        padding-right: 10px;
    }
}

.section-slider-logo {
    padding: 40px 0;
}

.section-slider-logo .slider-wrap {
    max-width: 1920px;
    margin: 0 auto;
}

.section-slider-logo .slider-wrap .slider-item img {
    margin: 0 auto;
}

.section-slider-logo.inner-page h2 {
    font-weight: 500;
    margin-bottom: 50px;
}

.section-slider-logo.inner-page .slider-wrap {
    padding: 40px 0;
}

.section-slider-logo.inner-page .slider-logo {
    display: block;
}

.section-slider-logo.inner-page .slider-logo .slick-slide img {
    margin: 0 auto;
}

@media (max-width: 1199px) {
    .section-slider-logo.inner-page h2 {
        margin-bottom: 20px;
    }
}

@media (max-width: 1023px) {
    .section-slider-logo.inner-page h2 {
        margin-bottom: 30px;
    }
    .section-slider-logo.inner-page .slider-wrap {
        padding: 20px 0;
    }
}

.section-model-excellence {
    padding: 80px 0 60px;
    background: url("../img/img-bg-model-excellence.jpg") center/cover no-repeat;
}

.section-model-excellence.no-bg {
    background: none;
}

.section-model-excellence .header-wrap {
    text-align: center;
    margin-bottom: 45px;
}

.section-model-excellence .grid-x .cell {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
}

.section-model-excellence .model-item {
    background: #fff;
    -webkit-box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
    box-shadow: 0px 4px 14px 10px rgba(0, 0, 0, 0.06);
    padding: 50px 40px 55px;
    height: 100%;
}

.section-model-excellence .model-item .image-wrap {
    text-align: center;
    margin-bottom: 35px;
}

.section-model-excellence .model-item .text-wrap h4 {
    font-weight: 500;
    font-size: 34px !important;
    line-height: 1.17647;
    text-align: center;
    text-transform: uppercase;
    color: #991B1E;
    max-width: 330px;
    margin: 0 auto 30px;
}

.section-model-excellence .model-item .text-wrap p {
    font-weight: 400;
    font-size: 22px !important;
    line-height: 1.36364;
    text-align: center;
    color: #3C3C3C;
    margin-bottom: 0;
}

.section-model-excellence h2 {
    font-weight: 500;
}

@media (max-width: 1279px) {
    .section-model-excellence .model-item {
        padding: 30px 25px 25px;
    }
    .section-model-excellence .model-item .text-wrap h4 {
        font-size: 32px !important;
        line-height: 1.1875;
    }
    .section-model-excellence .model-item .text-wrap p {
        font-size: 20px !important;
        line-height: 1.4;
    }
    .section-model-excellence .model-item .image-wrap {
        margin-bottom: 20px;
    }
}

@media (max-width: 1023px) {
    .section-model-excellence {
        padding: 50px 0 30px;
    }
    .section-model-excellence .model-item {
        max-width: 450px;
        margin: 0 auto 30px;
        height: auto;
    }
    .section-model-excellence .model-item .text-wrap h4 {
        max-width: 100%;
    }
}

@media (max-width: 639px) {
    .section-model-excellence {
        padding-left: 10px;
        padding-right: 10px;
    }
    .section-model-excellence .model-item {
        max-width: 360px;
    }
    .section-model-excellence .model-item .text-wrap h4 {
        font-size: 28px !important;
        line-height: 1.21429;
    }
    .section-model-excellence .model-item .text-wrap p {
        font-size: 18px !important;
        line-height: 1.44444;
    }
}

.sec-red-bg {
    padding: 215px 10px 160px;
    position: relative;
}

.sec-red-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 552px;
    z-index: -1;
    background: #333;
    -webkit-clip-path: polygon(0 35%, 100% 0, 100% 65%, 0 100%);
    clip-path: polygon(0 35%, 100% 0, 100% 65%, 0 100%);
}

.sec-red-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: #991B1E;
    -webkit-clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
    clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
}

.sec-red-bg.bg-invert::before {
    -webkit-clip-path: polygon(0% 0%, 100% 35%, 100% 90%, 0% 65%);
    clip-path: polygon(0% 0%, 100% 35%, 100% 90%, 0% 65%);
}

.sec-red-bg.bg-invert::after {
    -webkit-clip-path: polygon(0 20%, 100% 0%, 100% 80%, 0% 100%);
    clip-path: polygon(0 20%, 100% 0%, 100% 80%, 0% 100%);
}

.sec-red-bg .left-panel {
    max-width: 600px;
    padding: 15px 25px 0 0;
}

.sec-red-bg .right-panel {
    padding: 0 10px 0 0px;
}

.sec-red-bg h2 {
    margin-bottom: 35px;
    color: #fff;
}

.sec-red-bg h3,
.sec-red-bg h3 a {
    font-size: 34px !important;
    line-height: 1.17647;
    color: #fff;
    text-transform: uppercase;
    font-family: "Teko", sans-serif;
}

.sec-red-bg p {
    font-weight: 400;
    font-size: 16px !important;
    line-height: 1.5;
    color: #fff;
}

.sec-red-bg label {
    font-weight: 400;
    font-size: 30px !important;
    line-height: 1.26667;
    color: #fff;
    margin-bottom: 15px;
}

.sec-red-bg ul {
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}

.sec-red-bg ul li {
    font-weight: 400;
    font-size: 16px !important;
    line-height: 1.5;
    color: #fff;
    margin-bottom: 10px;
    position: relative;
    padding-left: 30px;
}

.sec-red-bg ul li:before {
    content: '';
    position: absolute;
    z-index: 0;
    left: 2px;
    top: 7px;
    background: #991B1E;
    border-radius: 50%;
    width: 13px;
    height: 13px;
    border: 1px solid #fff;
    margin-right: 10px;
}

.sec-red-bg ul li:after {
    content: '';
    position: absolute;
    z-index: 0;
    left: 5px;
    top: 10px;
    background: #fff;
    border-radius: 50%;
    width: 7px;
    height: 7px;
}

.sec-red-bg .button-wrap {
    text-align: center;
    padding: 30px 0;
}

@media (max-width: 1279px) {
    .sec-red-bg {
        padding: 175px 10px 120px;
    }
}

@media (max-width: 1023px) {
    .sec-red-bg {
        padding: 125px 10px 115px;
    }
    .sec-red-bg .left-panel {
        max-width: 100%;
        padding: 0;
    }
    .sec-red-bg:after {
        -webkit-clip-path: polygon(0 0, 100% 10%, 100% 100%, 0 95%);
        clip-path: polygon(0 0, 100% 10%, 100% 100%, 0 95%);
    }
    .sec-red-bg:before {
        -webkit-clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%);
        clip-path: polygon(0 20%, 100% 0, 100% 80%, 0 100%);
    }
    .sec-red-bg.bg-invert::before {
        -webkit-clip-path: polygon(0% 0%, 100% 20%, 100% 100%, 0% 80%);
        clip-path: polygon(0% 0%, 100% 20%, 100% 100%, 0% 80%);
    }
    .sec-red-bg.bg-invert::after {
        -webkit-clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%);
        clip-path: polygon(0 10%, 100% 0%, 100% 90%, 0% 100%);
    }
}

@media (max-width: 639px) {
    .sec-red-bg {
        padding-left: 10px;
        padding-right: 10px;
    }
    .sec-red-bg .left-panel h2 {
        padding: 0;
    }
}

@media (max-width: 413px) {
    .sec-red-bg {
        padding: 85px 10px 65px;
    }
    .sec-red-bg:before {
        -webkit-clip-path: polygon(0 15%, 100% 0, 100% 85%, 0 100%);
        clip-path: polygon(0 15%, 100% 0, 100% 85%, 0 100%);
    }
    .sec-red-bg:after {
        -webkit-clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
        clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
    }
    .sec-red-bg.bg-invert::before {
        -webkit-clip-path: polygon(0% 0%, 100% 10%, 100% 100%, 0% 90%);
        clip-path: polygon(0% 0%, 100% 10%, 100% 100%, 0% 90%);
    }
    .sec-red-bg.bg-invert::after {
        -webkit-clip-path: polygon(0 5%, 100% 0%, 100% 95%, 0% 100%);
        clip-path: polygon(0 5%, 100% 0%, 100% 95%, 0% 100%);
    }
}

.sec-contact-form-footer {
    position: relative;
    padding: 180px 0 50px;
}

.sec-contact-form-footer picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.sec-contact-form-footer picture img {
    width: 100%;
    height: 100%;
}

.sec-contact-form-footer .grid-container {
    position: relative;
    z-index: 2;
}

.sec-contact-form-footer .form-panel {
    text-align: center;
}

.sec-contact-form-footer .form-panel h2 {
    margin-bottom: 50px;
}

.sec-contact-form-footer .form-panel h2+h3 {
    max-width: 608px;
    margin: 0 auto 50px;
}

.sec-contact-form-footer .form-panel h2.withsub {
    margin-bottom: 10px;
}

.sec-contact-form-footer .model-excel-wrap {
    position: relative;
    -webkit-box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.15);
    box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.15);
    padding: 10px;
    border: 1px solid #fff;
    max-width: 640px;
    min-height: 560px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 30px;
}

.sec-contact-form-footer .model-excel-wrap:before {
    content: '';
    position: absolute;
    left: -10px;
    top: -10px;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: #991B1E;
    z-index: -1;
}

.sec-contact-form-footer .model-excel-wrap .text-wrap {
    max-width: 540px;
    padding: 15px;
}

.sec-contact-form-footer .model-excel-wrap .text-wrap>svg {
    margin-bottom: 25px;
}

.sec-contact-form-footer .model-excel-wrap h2 {
    color: #fff;
    margin-bottom: 20px;
}

.sec-contact-form-footer .model-excel-wrap h3 {
    font-family: "Lato", sans-serif;
    font-size: 32px !important;
    line-height: 1.21875;
    font-weight: 700;
    margin-bottom: 20px;
    color: #fff;
}

.sec-contact-form-footer .model-excel-wrap ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sec-contact-form-footer .model-excel-wrap ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 25px;
}

.sec-contact-form-footer .model-excel-wrap ul li span {
    margin-right: 25px;
}

.sec-contact-form-footer .model-excel-wrap ul li .info {
    font-size: 25px !important;
    line-height: 1.28;
    font-weight: 700;
    color: #fff;
}

.sec-contact-form-footer .image-wrap-bg-logo img {
    padding-left: 0;
}

@media (max-width: 1279px) {
    .sec-contact-form-footer picture img {
        -o-object-fit: contain;
        object-fit: contain;
        -o-object-position: top;
        object-position: top;
    }
}

@media (max-width: 1023px) {
    .sec-contact-form-footer {
        padding: 100px 0 50px;
    }
    .sec-contact-form-footer .model-excel-wrap {
        margin: 30px auto 50px;
        min-height: 100%;
    }
    .sec-contact-form-footer .model-excel-wrap ul li .info {
        font-size: 22px !important;
        line-height: 1.36364;
    }
    .sec-contact-form-footer .model-excel-wrap h2 {
        padding: 0;
    }
    .sec-contact-form-footer .image-wrap-bg-logo {
        margin-bottom: 30px;
    }
}

@media (max-width: 991px) {
    .sec-contact-form-footer picture img {
        -o-object-fit: fill;
        object-fit: fill;
        -o-object-position: top left;
        object-position: top left;
    }
}

@media (max-width: 767px) {
    .sec-contact-form-footer .model-excel-wrap {
        width: 95%;
    }
    .sec-contact-form-footer .image-wrap-bg-logo {
        background-position-x: left;
    }
}

@media (max-width: 639px) {
    .sec-contact-form-footer {
        padding-left: 10px;
        padding-right: 10px;
    }
    .sec-contact-form-footer .model-excel-wrap h3 {
        font-size: 26px !important;
        line-height: 1.30769;
    }
    .sec-contact-form-footer .model-excel-wrap .text-wrap {
        padding: 15px 0;
        width: 100%;
    }
    .sec-contact-form-footer .form-panel h2 {
        margin-bottom: 30px;
    }
    .sec-contact-form-footer .form-panel h2.withsub {
        margin-bottom: 0;
    }
    .sec-contact-form-footer .form-panel h2+h3 {
        margin-bottom: 25px;
    }
    .sec-contact-form-footer .form-wrap .gform_footer input.button {
        line-height: 1.19048 !important;
    }
}

@media (max-width: 479px) {
    .sec-contact-form-footer .image-wrap-bg-logo {
        background-position-x: center;
    }
    .sec-contact-form-footer .image-wrap-bg-logo img {
        padding-left: 20px;
    }
}

@media (max-width: 413px) {
    .sec-contact-form-footer .model-excel-wrap ul li .info {
        font-size: 18px !important;
        line-height: 1.44444;
    }
    .sec-contact-form-footer .model-excel-wrap .text-wrap>svg {
        width: 100%;
    }
    .sec-contact-form-footer .image-wrap-bg-logo img {
        padding-left: 0;
        padding-right: 0;
    }
}


/* Contact Us Template page */

.contact-us-wrap {
    padding: 100px 0 60px;
    background: url("../img/img-bg-model-excellence.jpg") center/cover no-repeat;
}

.contact-us-wrap>.wp-block-group__inner-container {
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
}

.contact-us-wrap .header-wrap {
    max-width: 1200px;
    margin: 0 auto 50px;
}

.contact-us-wrap .wp-block-column .wp-block-group__inner-container {
    position: relative;
}

.contact-us-wrap .location-bg-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 248px;
    height: 100%;
    background: rgba(153, 27, 29, 0.9);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 15px;
}

.contact-us-wrap .location-bg-wrap .location-wrap p {
    font-size: 18px !important;
    line-height: 1.44444;
    color: #fff;
}

.contact-us-wrap .location-bg-wrap .location-wrap ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.contact-us-wrap .location-bg-wrap .location-wrap ul li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.contact-us-wrap .location-bg-wrap .location-wrap ul li svg {
    margin-right: 10px;
}

.contact-us-wrap .location-bg-wrap .location-wrap ul li span {
    display: inline-block;
}

.contact-us-wrap .location-bg-wrap .location-wrap ul a {
    font-size: 18px !important;
    line-height: 1.44444;
    color: #fff;
    display: inline-block;
}

.contact-us-wrap .form-wrap {
    background: #fff;
    padding: 15px;
    height: 100%;
    -webkit-box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.15);
    box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.15);
}

.contact-us-wrap .form-wrap .wp-block-group__inner-container {
    border: 1px solid #3C3C3C;
    padding: 15px;
    height: 100%;
}

@media (max-width: 1279px) {
    .contact-us-wrap .location-bg-wrap {
        top: auto;
        width: 100%;
        height: auto;
        padding: 15px;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
    }
}

@media (max-width: 1023px) {
    .contact-us-wrap {
        padding: 50px 0 30px;
    }
    .contact-us-wrap .form-loc-wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .contact-us-wrap .location-bg-wrap {
        position: static;
    }
}

@media (max-width: 413px) {
    .contact-us-wrap>.wp-block-group__inner-container {
        padding: 0 10px;
    }
    .contact-us-wrap .form-loc-wrap .wp-block-column {
        width: 100%;
    }
    .contact-us-wrap .form-wrap {
        padding: 10px;
    }
    .contact-us-wrap .form-wrap .wp-block-group__inner-container {
        padding: 10px;
    }
}


/* Privacy Template page */

.privacy-container {
    padding: 80px 0 60px;
}

.privacy-container>.wp-block-group__inner-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
}

.privacy-container .privacy-policy-wrap {
    background: #fff;
    padding: 15px;
    height: 100%;
    -webkit-box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.15);
    box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.15);
}

.privacy-container .privacy-policy-wrap .wp-block-group__inner-container {
    border: 1px solid #3C3C3C;
    padding: 15px;
    height: 100%;
}

.privacy-container .privacy-policy-wrap a {
    color: #991B1E;
}

@media (max-width: 1023px) {
    .privacy-container {
        padding: 40px 0 60px;
    }
}

@media (max-width: 639px) {
    .privacy-container h1,
    .privacy-container h2 {
        text-align: center;
    }
}


/* Review Template page */

.review-container {
    padding: 80px 0 60px;
}

.review-container>.wp-block-group__inner-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
}

.review-container .header-wrap {
    text-align: center;
}

.review-container .review-wrap {
    max-width: 960px;
    margin: 0 auto;
    background: #fff;
    padding: 15px;
    height: 100%;
    -webkit-box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.15);
    box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.15);
}

.review-container .review-wrap>.wp-block-group__inner-container {
    padding: 15px;
    height: 100%;
    min-height: 600px;
}

@media (max-width: 1023px) {
    .review-container {
        padding: 40px 0 60px;
    }
    .review-container .review-wrap>.wp-block-group__inner-container {
        padding: 0;
    }
}

.default-container {
    padding: 80px 0 60px;
}

.default-container>.wp-block-group__inner-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
    z-index: 1;
    position: relative;
}

@media (max-width: 1023px) {
    .default-container {
        padding: 40px 0 30px;
    }
}

@media (max-width: 639px) {
    .default-container {
        padding-left: 10px;
        padding-right: 10px;
    }
}


/* Coupon Template page */

.coupon-wrap>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.coupon-wrap .offer-wrap {
    -ms-flex-preferred-size: 32.33%;
    flex-basis: 32.33%;
    margin-right: 1.33%;
}

.coupon-wrap .offer-wrap:nth-child(3n) {
    margin-right: 0;
}

@media (max-width: 1439px) {
    .coupon-wrap .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 320px;
    }
    .coupon-wrap .offer-wrap:first-child .offer-item-wrap .text-wrap,
    .coupon-wrap .offer-wrap:nth-child(2) .offer-item-wrap .text-wrap,
    .coupon-wrap .offer-wrap:nth-child(3) .offer-item-wrap .text-wrap {
        min-height: 350px;
    }
}

@media (max-width: 1279px) {
    .coupon-wrap>.wp-block-group__inner-container {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .coupon-wrap .offer-wrap {
        -ms-flex-preferred-size: 49%;
        flex-basis: 49%;
        max-width: 450px;
        margin-right: 0;
    }
    .coupon-wrap .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 280px;
        width: 100%;
    }
    .coupon-wrap .offer-wrap:first-child .offer-item-wrap .text-wrap,
    .coupon-wrap .offer-wrap:nth-child(2) .offer-item-wrap .text-wrap,
    .coupon-wrap .offer-wrap:nth-child(3) .offer-item-wrap .text-wrap {
        min-height: 280px;
    }
    .coupon-wrap .offer-wrap:nth-child(odd) {
        margin-right: 2%;
    }
}

@media (max-width: 1023px) {
    .coupon-wrap {
        padding: 40px 0 60px;
    }
    .coupon-wrap .offer-wrap {
        margin-bottom: 30px;
    }
    .coupon-wrap .offer-wrap .offer-item-wrap .text-wrap {
        min-height: 250px;
    }
}

@media (max-width: 767px) {
    .coupon-wrap>.wp-block-group__inner-container {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .coupon-wrap .offer-wrap {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .coupon-wrap .offer-wrap:nth-child(odd),
    .coupon-wrap .offer-wrap:nth-child(3n) {
        margin-right: auto;
    }
}


/* About Template page */

.sec-about-owner {
    position: relative;
}

.sec-about-owner figure.bg-wrap {
    position: absolute;
    top: -120px;
    z-index: -1;
}

@media (max-width: 1023px) {
    .sec-about-owner .text-wrap {
        margin: 0 auto;
    }
    .sec-about-owner .image-wrap-bg-logo {
        margin-bottom: 0;
    }
    .sec-about-owner .image-wrap-bg-logo img {
        max-width: 480px;
        width: 100%;
    }
}


/* AC-Heating Template page */

.section-base>.wp-block-group__inner-container {
    max-width: 1440px;
    padding: 0 15px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 0;
}

.sec-link-wrap {
    margin-top: -200px;
}

.sec-link-wrap .link-item {
    background: #A6070C;
    padding: 34px 40px;
    height: 100%;
    cursor: pointer;
    margin-bottom: 15px;
}

.sec-link-wrap .link-item>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.sec-link-wrap .link-item:hover {
    background: #212121;
}

.sec-link-wrap .link-item .wp-block-image {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    padding: 45px 0;
}

.sec-link-wrap .link-item figure {
    width: 100%;
    text-align: center;
}

.sec-link-wrap .link-item figure>a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 100px;
    margin-bottom: 30px;
}

.sec-link-wrap .link-item figure img {
    max-width: 130px;
    -webkit-clip-path: none;
    clip-path: none;
    min-width: 100px;
}

.sec-link-wrap .link-item figcaption {
    margin-bottom: 0;
    margin-top: 0;
}

.sec-link-wrap .link-item figcaption a {
    font-size: 28px !important;
    line-height: 1.28571;
    text-align: center;
    color: #fff;
    margin-bottom: 0;
}

.sec-link-wrap.how-we-help {
    margin-top: -260px;
}

@media (max-width: 1390px) {
    .sec-link-wrap .link-item {
        min-height: auto;
    }
    .sec-link-wrap .link-item .wp-block-image {
        padding: 15px 0;
    }
    .sec-link-wrap .link-item .wp-block-image figure>a {
        margin-bottom: 20px;
    }
    .sec-link-wrap .link-item .wp-block-image figure img {
        max-width: 110px;
    }
}

@media (max-width: 1279px) {
    .sec-link-wrap {
        margin-top: -120px;
    }
    .sec-link-wrap .link-item {
        padding: 25px 20px;
    }
    .sec-link-wrap .link-item figcaption {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .sec-link-wrap .link-item figcaption a {
        font-size: 24px !important;
        line-height: 1.33333;
    }
    .sec-link-wrap .link-item .wp-block-image {
        padding: 0;
    }
    .sec-link-wrap.how-we-help {
        margin-top: -180px;
    }
}

@media (max-width: 1023px) {
    .sec-link-wrap {
        margin-top: 0;
    }
    .sec-link-wrap .link-item {
        max-width: 280px;
        margin: 0 auto 15px;
    }
    .sec-link-wrap .link-item .wp-block-image {
        padding: 0;
    }
    .sec-link-wrap .link-item .wp-block-image figure>a {
        min-height: 95px;
        max-width: 100px;
        margin: 0 auto 20px;
    }
    .sec-link-wrap .link-item figcaption {
        min-height: 65px;
    }
    .sec-link-wrap.how-we-help {
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    .sec-link-wrap .link-item {
        padding: 15px;
    }
    .sec-link-wrap .link-item figcaption a {
        font-size: 22px !important;
        line-height: 1.27273;
    }
}

@media (max-width: 639px) {
    .sec-link-wrap .link-item figcaption {
        min-height: auto;
    }
}

.sec-model-excel-icons h2 {
    text-align: center;
}

.sec-model-excel-icons h3 {
    text-align: center;
    margin-bottom: 50px;
}

.sec-model-excel-icons>.wp-block-group__inner-container {
    max-width: 100%;
    padding: 0;
}

.sec-model-excel-icons>.wp-block-group__inner-container::before {
    content: '';
    position: absolute;
    top: -50px;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 230px;
    z-index: -1;
    background: #991B1E;
    -webkit-clip-path: polygon(0 10%, 100% 0, 100% 90%, 0 90%);
    clip-path: polygon(0 10%, 100% 0, 100% 90%, 0 90%);
}

.sec-model-excel-icons>.wp-block-group__inner-container::after {
    content: '';
    position: absolute;
    top: -50px;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 240px;
    z-index: -1;
    background: #000;
    -webkit-clip-path: polygon(0 0, 100% 30%, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 30%, 100% 100%, 0 100%);
}

.sec-model-excel-icons>.wp-block-group__inner-container h2 {
    color: #fff;
    line-height: 40px;
    padding-top: 50px;
}

.sec-model-excel-icons>.wp-block-group__inner-container h3 {
    color: #BDBDBD;
    padding-bottom: 50px;
}

.sec-model-excel-icons>.wp-block-group__inner-container>.wp-block-columns {
    max-width: 1440px;
    padding: 0 15px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    z-index: 0;
}

.sec-model-excel-icons .excel-icon-grid .text-wrap .wp-block-image figure {
    min-height: 82px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.sec-model-excel-icons .excel-icon-grid .text-wrap .h3-wrap>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px;
}

.sec-model-excel-icons .excel-icon-grid .text-wrap .h3-wrap h3 {
    padding-bottom: 0;
}

.sec-model-excel-icons .excel-icon-grid .text-wrap h3 {
    text-align: center;
    margin-bottom: 0;
    font-family: "Teko", sans-serif;
    font-size: 34px !important;
    line-height: 1.17647;
    font-weight: 500;
    text-transform: uppercase;
    color: #991B1E;
}

.sec-model-excel-icons .excel-icon-grid .text-wrap p {
    text-align: center;
    max-width: 360px;
    margin: 0 auto 20px;
}

@media (max-width: 1394px) {
    .sec-model-excel-icons .excel-icon-grid .text-wrap .h3-wrap>.wp-block-group__inner-container {
        min-height: 80px;
    }
    .sec-model-excel-icons .excel-icon-grid .text-wrap h3 {
        max-width: 320px;
    }
}

@media (max-width: 1279px) {
    .sec-model-excel-icons .excel-icon-grid .text-wrap h3 {
        max-width: 300px;
        margin: 0 auto;
    }
}

@media (max-width: 1023px) {
    .sec-model-excel-icons .excel-icon-grid .text-wrap h3 {
        max-width: 280px;
    }
}

@media (max-width: 767px) {
    .sec-model-excel-icons>.wp-block-group__inner-container::after {
        -webkit-clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 100%);
        clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 100%);
    }
    .sec-model-excel-icons>.wp-block-group__inner-container h2 {
        padding-top: 30px;
    }
    .sec-model-excel-icons>.wp-block-group__inner-container h3 {
        padding-bottom: 30px;
        max-width: 640px;
        margin-left: auto;
        margin-right: auto;
    }
    .sec-model-excel-icons .excel-icon-grid .text-wrap .h3-wrap>.wp-block-group__inner-container {
        min-height: 72px;
    }
    .sec-model-excel-icons .excel-icon-grid .text-wrap h3 {
        max-width: 100%;
        font-size: 28px !important;
        line-height: 1.28571;
    }
}

@media (max-width: 639px) {
    .sec-model-excel-icons .excel-icon-grid .text-wrap {
        max-width: 450px;
        margin: 0 auto;
    }
    .sec-model-excel-icons .excel-icon-grid .text-wrap .h3-wrap>.wp-block-group__inner-container {
        min-height: auto;
    }
}

@media (max-width: 413px) {
    .sec-model-excel-icons>.wp-block-group__inner-container::after {
        max-height: 260px;
    }
}

.sec-header-text-cta h2 {
    max-width: 900px;
    text-align: center;
    margin: 0 auto 50px;
}
.sec-header-text-cta a{
	color: #991B1E !important;
}
.sec-header-text-cta a.button{
	color: #FFF !important
}
.sec-header-text-cta p {
    max-width: 1030px;
    margin-left: auto;
    margin-right: auto;
    margin: 0 auto 40px;
    text-align: center;
    font-size: 30px !important;
    line-height: 1.26667;
    text-align: center;
    color: #3C3C3C;
}

.sec-header-text-cta.v2 h2 {
    max-width: 1080px;
}

.sec-header-text-cta.v2 p {
    max-width: 990px;
}

@media (max-width: 1023px) {
    .sec-header-text-cta h2 {
        margin-bottom: 30px;
    }
    .sec-header-text-cta h2 br {
        display: none;
    }
    .sec-header-text-cta p {
        font-size: 24px !important;
        line-height: 1.33333;
    }
}

@media (max-width: 639px) {
    .sec-header-text-cta p {
        font-size: 20px !important;
        line-height: 1.4;
    }
}


/* AC-Heating Inner pages*/

.sec-hero-banner-inner {
    position: relative;
    margin-top: 50px;
    margin-bottom: 50px;
}

.sec-hero-banner-inner .banner-wrap {
    position: relative;
    z-index: 1;
    padding-bottom: 25px;
    overflow: hidden;
}

.sec-hero-banner-inner .media {
    position: absolute;
    right: -8%;
    top: 0;
    height: calc(100% - 25px);
    width: 60%;
    z-index: 1;
    overflow: hidden;
}

.sec-hero-banner-inner .media video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
}

.sec-hero-banner-inner .media img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

.sec-hero-banner-inner .caption {
    padding: 130px 0 100px calc((100vw - 1410px) / 2);
    width: 58.33%;
    position: relative;
    z-index: 2;
    color: #fff;
}

.sec-hero-banner-inner .caption:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: -110px;
    bottom: -25px;
    background: #8C2824;
    -webkit-transform: skewX(-18deg);
    transform: skewX(-18deg);
    -webkit-transform-origin: top;
    transform-origin: top;
}

.sec-hero-banner-inner h1 {
    font-size: 106px !important;
    line-height: 0.85849;
    font-weight: 400;
    max-width: 720px;
    color: #fff;
    margin-bottom: 20px;
}

.sec-hero-banner-inner h2 {
    font-family: "Lato", sans-serif;
    font-size: 32px !important;
    line-height: 1.51429;
    font-weight: 400;
    text-transform: none;
    color: #fff;
    margin-bottom: 30px;
    max-width: 89%;
}


/* Blog Listing Page */

.sec-hero-banner-blog-list {
    position: relative;
    margin-top: 50px;
    margin-bottom: 50px;
}

.sec-hero-banner-blog-list .banner-wrap {
    position: relative;
    min-height: 355px;
}

.sec-hero-banner-blog-list .media {
    position: absolute;
    width: 100%;
    z-index: 1;
}

.sec-hero-banner-blog-list .media:after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(140, 40, 36, 0.9);
    /*#8C2824*/
    display: block;
    position: absolute;
    top: 0;
}

.sec-hero-banner-blog-list .caption {
    position: relative;
    width: 100%;
    z-index: 2;
    padding: 140px 20px;
}

.sec-hero-banner-blog-list h1 {
    font-size: 106px !important;
    line-height: 0.85849;
    font-weight: 400;
    color: #fff;
    text-align: center;
    margin-bottom: 0;
}

.blog-listing-wrap {
    padding: 80px 0;
}

.posts-listing-wrap {
    list-style: none;
    margin-left: 0;
}

.post-list-item {
    margin-bottom: 60px;
}

.post-list-item h2 a {
    color: #3C3C3C;
}

.post-list-item .post-list-item-excerpt .wp-block-post-excerpt__excerpt {
    color: #3C3C3C;
    font-family: Lato;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    /* 150% */
}

.post-list-item .post-list-item-excerpt .wp-block-post-excerpt__more-link {
    color: #A6070C;
    text-align: center;
    font-family: Teko;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    /* 155.556% */
    letter-spacing: 4.14px;
    text-transform: uppercase;
    position: relative;
}

.post-list-item .post-list-item-excerpt .wp-block-post-excerpt__more-link:after {
    content: url("../img/icn-readmore-arrow-right.svg");
    width: 20px;
    height: 20px;
    display: block;
    position: absolute;
    top: 1px;
    right: -30px;
}

.posts-list-pagination {
    gap: 0;
    float: none !important;
    padding-top: 20px;
    border-top: 1px solid #E5E7EB;
}

.posts-list-pagination .wp-block-query-pagination-numbers {
    display: flex;
    justify-content: center;
}

.posts-list-pagination .wp-block-query-pagination-next {
    padding: 11px;
    border-radius: 0px 6px 6px 0px;
    border: 1px solid #D1D5DB;
    background: #FFF;
    content: url("../img/icn-page-right.svg");
}

.posts-list-pagination .wp-block-query-pagination-previous {
    padding: 11px;
    border-radius: 0px 6px 6px 0px;
    border: 1px solid #D1D5DB;
    background: #FFF;
    content: url("../img/icn-page-right.svg");
    transform: rotate(180deg);
}

.posts-list-pagination .page-numbers {
    display: flex;
    padding: 9px 17px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #D1D5DB;
    background: #FFF;
    width: 44px;
    height: 44px;
}

.posts-list-pagination .page-numbers.current {
    border: 1px solid #8C2824;
    background: rgba(140, 40, 36, 0.04);
}


/* Blog Inner Pages */

.sec-post-banner h2 {
    max-width: 85%;
}

.sec-post-banner h1 {
    max-width: 735px;
}

.repair-tip-wrap {
    /* border: 1px solid #991B1E; */
    padding: 65px 35px 20px 25px;
    position: relative;
    background: url('../img/img-tail-callout-2.png') left/cover no-repeat;
    background-size: 97%;
}

.repair-tip-wrap h4 {
    color: #991B1E;
    font-size: 34px;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
}

.posts-issues-grid .common-issue-item {
    width: 48%;
}
.posts-issues-grid .common-issue-item a{
	color: #991B1E !important;
}

.sec-grayed {
    background: #F3F3F3;
}


/* .repair-tip-wrap :before {
    content: url('../img/img-tail-callout.png');
    width: 45px;
    height: 37px;
    position: absolute;
    left: 56px;
    top: -34px;
} */

.repair-tip-wrap h4 img {
    margin-right: 10px;
}

.repair-tip-wrap p {
    margin-bottom: 20px;
}

@media (max-width: 1500px) {
    .sec-hero-banner-inner .caption {
        padding: 100px 30px 60px 60px;
        width: 53%;
    }
    .sec-hero-banner-inner .media {
        width: 67%;
    }
    .sec-post-banner h1 {
        font-size: 96px !important;
    }
    .sec-post-banner h2 {
        max-width: 83%;
    }
}

@media (max-width: 1279px) {
    .sec-hero-banner-inner h1,
    .sec-hero-banner-blog-list h1 {
        font-size: 80px !important;
        line-height: 0.875;
        max-width: 560px;
    }
    .sec-hero-banner-inner h2 {
        font-size: 30px !important;
        line-height: 1.5;
    }
    .sec-hero-banner-inner .media img {
        -o-object-position: left;
        object-position: left;
    }
    .sec-post-banner .media {
        width: 100%;
    }
}

@media (max-width: 1199px) {
    .sec-hero-banner-inner {
        margin-bottom: 30px;
    }
    .sec-hero-banner-inner .media {
        right: -12%;
    }
    .sec-hero-banner-inner .caption {
        padding: 60px 0px 30px 30px;
    }
    .sec-hero-banner-inner h2 {
        font-size: 26px !important;
    }
    .repair-tip-wrap {
        background-size: 99% 95%;
    }
}

@media (max-width: 1023px) {
    .sec-hero-banner-inner .banner-wrap {
        padding-bottom: 0;
    }
    .sec-hero-banner-inner .media {
        width: 100%;
        right: 0;
        position: static;
    }
    .sec-hero-banner-inner .caption {
        width: 100%;
        position: static;
        height: 100%;
        text-align: center;
        padding: 60px 30px;
    }
    .sec-hero-banner-inner .caption::before {
        width: 100%;
        -webkit-transform: none;
        transform: none;
        right: 0;
        bottom: 0;
    }
    .sec-hero-banner-inner h1,
    .sec-hero-banner-blog-list h1 {
        font-size: 72px !important;
        line-height: 0.84722;
        margin: 0 auto 20px;
        max-width: 100%;
    }
    .sec-hero-banner-inner h1 br {
        display: none;
    }
    .sec-hero-banner-inner h2 {
        font-size: 28px !important;
        line-height: 1.28571;
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .repair-tip-wrap {
        padding: 65px 25px 30px 25px;
    }
    .post-list-item img {
        width: 100%;
        max-height: 350px;
        object-fit: cover;
    }
    .post-list-item {
        flex-wrap: wrap !important;
    }
    .post-list-item .large-5 {
        flex-basis: 100% !important;
    }
    .post-list-item .large-7 {
        flex-basis: 100% !important;
    }
    .sec-hero-banner-blog-list .media img {
        object-fit: cover;
        height: 100%;
    }
    .sec-hero-banner-blog-list .media {
        height: 100%;
    }
}

@media (max-width: 767px) {
    .sec-hero-banner-inner h1,
    .sec-hero-banner-blog-list h1 {
        font-size: 64px !important;
        line-height: 0.79688;
    }
    .sec-hero-banner-inner h2 {
        font-size: 24px !important;
        line-height: 1.33333;
    }
}

@media (max-width: 639px) {
    .sec-hero-banner-inner h1,
    .sec-hero-banner-blog-list h1 {
        font-size: 52px !important;
        line-height: 0.80769;
    }
    .sec-hero-banner-inner h2 {
        font-size: 20px !important;
        line-height: 1.4;
        max-width: 100%;
    }
    .sec-hero-banner-inner .caption {
        padding: 60px 15px;
    }
    .posts-issues-grid .common-issue-item {
        width: 100%;
    }
    .repair-tip-wrap {
        background-image: url('../img/img-tail-callout-3.png');
    }
    .sec-post-banner h2 {
        margin-bottom: 0px;
    }
}

@media (max-width: 413px) {
    .sec-hero-banner-inner h1,
    .sec-hero-banner-blog-list h1 {
        font-size: 46px !important;
        line-height: 0.78261;
    }
    .repair-tip-wrap {
        padding: 80px 25px 30px 25px;
    }
}

.sec-paragon-queen {
    position: relative;
    padding: 80px 0 60px;
}

.sec-paragon-queen figure.wp-block-image img {
    width: 100%;
}

.sec-paragon-queen .text-wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    max-width: 860px;
    margin: auto;
}

.sec-paragon-queen .text-wrap>.wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    text-align: center;
}

.sec-paragon-queen .text-wrap h2 {
    color: #fff;
}

.sec-paragon-queen .text-wrap h3 {
    color: #fff;
    text-transform: uppercase;
}

@media (max-width: 1023px) {
    .sec-paragon-queen {
        padding: 40px 0 30px;
    }
    .sec-paragon-queen figure.wp-block-image {
        margin-bottom: 30px;
    }
    .sec-paragon-queen .text-wrap {
        position: static;
    }
    .sec-paragon-queen .text-wrap h2 {
        color: #991B1E;
    }
    .sec-paragon-queen .text-wrap h3 {
        color: #3C3C3C;
    }
}

@media (max-width: 639px) {
    .sec-paragon-queen {
        padding-left: 10px;
        padding-right: 10px;
    }
}


/* Duct Cleaning */

.slider-before-after>.wp-block-group__inner-container .slick-list {
    width: 94%;
    margin: 0 auto;
}

.slider-before-after>.wp-block-group__inner-container .slick-list .slick-slide img {
    margin: 0 auto;
}

.slider-before-after>.wp-block-group__inner-container .slick-arrow {
    position: absolute;
    top: 45%;
}

.slider-before-after>.wp-block-group__inner-container .slick-arrow.slick-prev {
    left: 0;
}

.slider-before-after>.wp-block-group__inner-container .slick-arrow.slick-next {
    right: 0;
}

@media (max-width: 479px) {
    .slider-before-after>.wp-block-group__inner-container .slick-arrow.slick-prev {
        left: -10px;
    }
    .slider-before-after>.wp-block-group__inner-container .slick-arrow.slick-next {
        right: -10px;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJiYXNlL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL190ZXh0LXV0aWxpdGllcy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3RleHQtdHJhbnNmb3JtYXRpb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19mb250LXN0eWxpbmcuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyZWQuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19zaGFkb3cuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3NlcGFyYXRvci5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uL3ZlbmRvci9mb3VuZGF0aW9uL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLWJveC5zY3NzIiwiLi4vLi4vdmVuZG9yL2ZvdW5kYXRpb24vc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MiLCIuLi8uLi92ZW5kb3IvZm91bmRhdGlvbi9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsImJhc2UvX3V0aWxpdGllcy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL19hbmltYXRpb25zLnNjc3MiLCJiYXNlL19lbGVtZW50cy5zY3NzIiwiYmFzZS9fZm9ybXMuc2NzcyIsImJhc2UvX2NvbXBvbmVudHMuc2NzcyIsInNlY3Rpb25zL19oZWFkZXIuc2NzcyIsInNlY3Rpb25zL19mb290ZXIuc2NzcyIsInNlY3Rpb25zL19taWRkbGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUMrQmhCLHlCQUFBO0FDL0JBOzs7OztFRk9FO0FHK0pJO0VDekhKO0lBQ0UsV0FBVztJQUNYLFVBQVU7SUFDVixjQUFjO0VKbkNoQjtBQUNGOztBS2JFLDJFQUFBO0FBUUE7RUFDRSxpQkFBaUI7RUFDakIsOEJBQThCO0FMU2xDOztBS0RFO0VBQ0UsU0FBUztBTEliOztBS0VFO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtBTENwQjs7QUtRRTtFQUNFLCtCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsU0FBUztFQUNULGlCQUFpQjtBTExyQjs7QUtXRTtFQUNFLGlDQUFpQztFQUNqQyxjQUFjO0FMUmxCOztBS2dCRTtFQUNFLDZCQUE2QjtBTGJqQzs7QUttQkU7RUFDRSxtQkFBbUI7RUFDbkIsMEJBQTBCO0VBQzFCLGlDQUFpQztBTGhCckM7O0FLcUJFOztFQUVFLG1CQUFtQjtBTGxCdkI7O0FLd0JFOzs7RUFHRSxpQ0FBaUM7RUFDakMsY0FBYztBTHJCbEI7O0FLMEJFO0VBQ0UsY0FBYztBTHZCbEI7O0FLNkJFOztFQUVFLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHdCQUF3QjtBTDFCNUI7O0FLNkJFO0VBQ0UsZUFBZTtBTDFCbkI7O0FLNkJFO0VBQ0UsV0FBVztBTDFCZjs7QUtrQ0U7RUFDRSxrQkFBa0I7QUwv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YTtFU3BCYixvQk5keUI7RU1lekIsZVJ1RHVEO0VRdER2RCxtQlRrRDJCO0VTakQzQixnQlRicUI7RVNjckIsY1RZYTtFRXNHYix3T0FBeU47RU85R3ZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsMkVOcUI4RDtFTXJCOUQsbUVOcUI4RDtFTXJCOUQsMkROcUI4RDtFTXJCOUQsb0ZOcUI4RDtBVGlibEU7O0FRL1ZFO0VGd0NBO0lFckNJLHVXQUF1VztFUmlXM1c7QUFDRjs7QWV4Y0U7RUFDRSxhQUFhO0VBQ2IseUJUWGU7RVNZZix5QlRKVztFU0tYLG1DVGpCaUI7VVNpQmpCLDJCVGpCaUI7RVNvQmYsMkVOVTREO0VNVjVELG1FTlU0RDtFTVY1RCwyRE5VNEQ7RU1WNUQsb0ZOVTREO0FUK2JsRTs7QWVwY0U7RUFDRSx5QlQ5QmdCO0VTK0JoQixtQk5EK0I7QVR3Y25DOztBZW5jRTtFQUNFLGFBQWE7QWZzY2pCOztBZW5jRTtFQUNFLFlBQVk7RUFDWixzQkFBc0I7QWZzYzFCOztBZ0J2ZUU7RUFDRSxxQmZ2Q2lCO0Vld0NqQix5QkFBK0Q7QWhCMGVuRTs7QWdCeGVJO0VBQ0UsY2YzQ2U7QURzaEJyQjs7QWdCNWVJO0VBQ0UsY2YzQ2U7QURzaEJyQjs7QWdCNWVJO0VBQ0UsY2YzQ2U7QURzaEJyQjs7QWdCNWVJO0VBQ0UsY2YzQ2U7QURzaEJyQjs7QWdCNWVJO0VBQ0UsY2YzQ2U7QURzaEJyQjs7QWdCamRJO0VBQ0UsY2Z0RWU7QUQwaEJyQjs7QWdCL2NFO0VBekJBLGFBQWE7RUFDYixtQkFBZ0M7RUFDaEMsbUJUOEJ1RDtFUzVCdkQsa0JUNEJ1RDtFUzNCdkQsaUJWMkJ1QjtFVTFCdkIsY2Z4RG1CO0FEbWlCckI7O0FnQnhkRTtFQUlJLGNBQWM7QWhCd2RwQjs7QWlCOVNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFNBQVM7RUFDVCxVQUFVO0FqQmlUZDs7QWlCN1NFO0VBQ0UsbUJBekswQjtFQTJLMUIsa0JBQWtCO0VBQ2xCLGdCQWhMc0I7RUFpTHRCLGtDQXpLeUM7QWpCd2Q3Qzs7QWlCM1NFOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0I7QWpCOFN4Qjs7QWlCMVNFOztFQUVFLGlCWGpOcUI7RVdrTnJCLG9CQUFvQjtBakI2U3hCOztBSy9mRTtFWXVORSxjQTVNaUI7RUE2TWpCLG9CQUFvQjtBakI0U3hCOztBaUJ4U0U7Ozs7OztFQU1FLCtCaEJ6U2lDO0VnQjBTakMsa0JBelJzQjtFQTBSdEIsbUJYeE95QjtFV3lPekIsY0FuUmtCO0VBb1JsQixrQ0EvTnNDO0FqQjBnQjFDOztBaUJyVEU7Ozs7OztFQWFJLGNBQWM7RUFDZCxjWDFSZTtBTjJrQnJCOztBaUJ4U1E7RUFJSSxpQlZ2UDZDO0VVbVE3QyxnQkE3U1c7RUFxVFgsYUFBYTtFQU9iLHFCQXhUaUI7QWpCd2tCN0I7O0FpQi9TUTtFQUlJLGtCVnZQNkM7RVVtUTdDLGdCQTdTVztFQXFUWCxhQUFhO0VBT2IscUJBeFRpQjtBakIra0I3Qjs7QWlCdFRRO0VBSUksb0JWdlA2QztFVW1RN0MsZ0JBN1NXO0VBcVRYLGFBQWE7RUFPYixxQkF4VGlCO0FqQnNsQjdCOztBaUI3VFE7RUFJSSxtQlZ2UDZDO0VVbVE3QyxnQkE3U1c7RUFxVFgsYUFBYTtFQU9iLHFCQXhUaUI7QWpCNmxCN0I7O0FpQnBVUTtFQUlJLG9CVnZQNkM7RVVtUTdDLGdCQTdTVztFQXFUWCxhQUFhO0VBT2IscUJBeFRpQjtBakJvbUI3Qjs7QWlCM1VRO0VBSUksZVZ2UDZDO0VVbVE3QyxnQkE3U1c7RUFxVFgsYUFBYTtFQU9iLHFCQXhUaUI7QWpCMm1CN0I7O0FHdmZNO0VjcUtFO0lBSUksZVZ2UDZDO0VQMGtCdkQ7RWlCdlZNO0lBSUksaUJWdlA2QztFUDZrQnZEO0VpQjFWTTtJQUlJLG9CVnZQNkM7RVBnbEJ2RDtFaUI3Vk07SUFJSSxvQlZ2UDZDO0VQbWxCdkQ7RWlCaFdNO0lBSUksa0JWdlA2QztFUHNsQnZEO0VpQm5XTTtJQUlJLGVWdlA2QztFUHlsQnZEO0FBQ0Y7O0FLMW5CRTtFWTJURSxvQkFBb0I7RUFDcEIsY2hCcFhtQjtFZ0JxWG5CLHFCQTlOeUI7RUFnT3pCLGVBQWU7QWpCa1VuQjs7QWlCdlVFO0VBU0ksY0F4TzJEO0FqQjBpQmpFOztBaUIzVUU7RUFnQkksU0FBUztBakIrVGY7O0FLNXBCRTtFWW1XRSxXQUFXO0VBRVgsZ0JWbFRxRDtFVW1UckQsU0FBUztFQUNULG9CQXJPeUI7RUF1T3pCLGFBQWE7RUFDYixlQUFlO0VBQ2YsZ0NYeFdpQjtFV3lXakIsY0FBYztBakIyVGxCOztBaUJ2VEU7OztFQUdFLG1CQXpTMEI7RUEwUzFCLDRCQWxPeUI7RUFtT3pCLGdCQS9Tc0I7QWpCeW1CMUI7O0FpQnRURTtFQUNFLGtCQUFrQjtBakJ5VHRCOztBaUJyVEU7RUFDRSxvQkF6T3NCO0VBME90QixxQkFsUGtCO0FqQjBpQnRCOztBaUJwVEU7RUFDRSxvQkEvT3NCO0FqQnNpQjFCOztBaUJuVEU7RUFFSSxvQkFqUDJCO0VBa1AzQixnQkFBZ0I7QWpCcVR0Qjs7QWlCaFRFO0VBQ0UsbUJBcFB5QjtBakJ1aUI3Qjs7QWlCcFRFO0VBSUkscUJBL084QjtFQWdQOUIsaUJYbldtQjtBTnVwQnpCOztBaUIvU0U7RUFDRSxnQkFsVjBCO0VBbVYxQixzQ1YxV3FEO0VVMldyRCw4QlgzWmlCO0FONnNCckI7O0FpQnJURTtFQU1JLGdCQTNWb0I7RUE0VnBCLGNYM1phO0FOOHNCbkI7O0FpQjlTRTtFQUNFLGNBQWM7RUFDZCxvQlZ0WHFEO0VVdVhyRCxjWG5hZTtBTm90Qm5COztBaUJwVEU7RUFNSSxhQS9PZ0I7QWpCaWlCdEI7O0FpQjdTRTtFQUNFLGlDWHhhVztFV3lhWCxZQUFZO0VBQ1oscUJBQXFCO0FqQmdUekI7O0FpQjVTRTtFQUNFLFNBQVM7QWpCK1NiOztBaUIzU0U7RUFDRSxxQ1Y1WXFEO0VVOFlyRCx5Qlg5YmlCO0VXK2JqQix5QlhuY2dCO0VXcWNoQiw0REFuY21FO0VBb2NuRSxtQlh0WnlCO0VXdVp6QixjWDNiVztBTnV1QmY7O0FpQnhTRTtFQUNFLFNBQVM7RUFDVCwyQlZwWlM7RVVzWlQseUJY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LDhCQUhxQjtFQUdyQiw2QkFIcUI7TUFHckIsdUJBSHFCO1VBR3JCLG1CQUhxQjtBdkJzOEJ2Qjs7QXFCejhCRTtFR3FCRSxtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztFQUNkLGVBQWU7RUFDZixjQUFjO0VBc0NkLFdBRG9EO0F4Qm81QnhEOztBcUJoOUJFO0VHMEJFLG1CQUFhO01BQWIsaUJBQWE7VUFBYixhQUFhO0F4QjA3QmpCOztBcUJwOUJFO0VHNkJFLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0F4QjI3QmxCOztBcUIzOEJFO0VHd0NFLFdBQW1CO0F4QnU2QnZCOztBcUIvOEJFO0VHNENFLFdBQW1CO0F4QnU2QnZCOztBcUJuOEJJO0VBTUksNkJBQWdCO01BQWhCLGdCQUFnQjtBckJpOEJ4Qjs7QUczMUJNO0VrQjVHRjtJQU1JLDZCQUFnQjtRQUFoQixnQkFBZ0I7RXJCczhCdEI7QUFDRjs7QUdqMkJNO0VrQjVHRjtJQU1JLDZCQUFnQjtRQUFoQixnQkFBZ0I7RXJCNDhCdEI7QUFDRjs7QXFCLzdCSTtFR3BCQSxtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztBeEJ1OUJsQjs7QXFCcDdCTTtFR0hGLGVBRG9EO0F4QjQ3QnhEOztBcUJ4N0JNO0VHSEYsZ0JBRG9EO0F4Qmc4QnhEOztBcUI1N0JNO0VHSEYsVUFEb0Q7QXhCbzhCeEQ7O0FxQmg4Qk07RUdIRixnQkFEb0Q7QXhCdzhCeEQ7O0FxQnA4Qk07RUdIRixnQkFEb0Q7QXhCNDhCeEQ7O0FxQng4Qk07RUdIRixVQURvRDtBeEJnOUJ4RDs7QXFCNThCTTtFR0hGLGdCQURvRDtBeEJvOUJ4RDs7QXFCaDlCTTtFR0hGLGdCQURvRDtBeEJ3OUJ4RDs7QXFCcDlCTTtFR0hGLFVBRG9EO0F4QjQ5QnhEOztBcUJ4OUJNO0VHSEYsZ0JBRG9EO0F4QmcrQnhEOztBcUI1OUJNO0VHSEYsZ0JBRG9EO0F4Qm8rQnhEOztBcUJoK0JNO0VHSEYsV0FEb0Q7QXhCdytCeEQ7O0FHMzVCTTtFa0I5RkE7SUdqQkYsbUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWE7SUEyQmIsV0FBbUI7RXhCcS9CckI7RXFCei9CRTtJR3BCQSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztFeEJnaENoQjtFcUJ0L0JJO0lHRUYsV0FBbUI7RXhCdS9CckI7RXFCaC9CSTtJR0hGLGVBRG9EO0V4QnUvQnREO0VxQm4vQkk7SUdIRixnQkFEb0Q7RXhCMC9CdEQ7RXFCdC9CSTtJR0hGLFVBRG9EO0V4QjYvQnREO0VxQnovQkk7SUdIRixnQkFEb0Q7RXhCZ2dDdEQ7RXFCNS9CSTtJR0hGLGdCQURvRDtFeEJtZ0N0RDtFcUIvL0JJO0lHSEYsVUFEb0Q7RXhCc2dDdEQ7RXFCbGdDSTtJR0hGLGdCQURvRDtFeEJ5Z0N0RDtFcUJyZ0NJO0lHSEYsZ0JBRG9EO0V4QjRnQ3REO0VxQnhnQ0k7SUdIRixVQURvRDtFeEIrZ0N0RDtFcUIzZ0NJO0lHSEYsZ0JBRG9EO0V4QmtoQ3REO0VxQjlnQ0k7SUdIRixnQkFEb0Q7RXhCcWhDdEQ7RXFCamhDSTtJR0hGLFdBRG9EO0V4QndoQ3REO0FBQ0Y7O0FHNThCTTtFa0I5RkE7SUdqQkYsbUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWE7SUEyQmIsV0FBbUI7RXhCc2lDckI7RXFCMWlDRTtJR3BCQSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztFeEJpa0NoQjtFcUJ2aUNJO0lHRUYsV0FBbUI7RXhCd2lDckI7RXFCamlDSTtJR0hGLGVBRG9EO0V4QndpQ3REO0VxQnBpQ0k7SUdIRixnQkFEb0Q7RXhCMmlDdEQ7RXFCdmlDSTtJR0hGLFVBRG9EO0V4QjhpQ3REO0VxQjFpQ0k7SUdIRixnQkFEb0Q7RXhCaWpDdEQ7RXFCN2lDSTtJR0hGLGdCQURvRDtFeEJvakN0RDtFcUJoakNJO0lHSEYsVUFEb0Q7RXhCdWpDdEQ7RXFCbmpDSTtJR0hGLGdCQURvRDtFeEIwakN0RDtFcUJ0akNJO0lHSEYsZ0JBRG9EO0V4QjZqQ3REO0VxQnpqQ0k7SUdIRixVQURvRDtFeEJna0N0RDtFcUI1akNJO0lHSEYsZ0JBRG9EO0V4Qm1rQ3REO0VxQi9qQ0k7SUdIRixnQkFEb0Q7RXhCc2tDdEQ7RXFCbGtDSTtJR0hGLFdBRG9EO0V4QnlrQ3REO0FBQ0Y7O0FxQjlqQ0U7RUFDRSxXQUFXO0FyQmlrQ2Y7O0FxQjdqQ0U7RUFDRSxZQUFZO0FyQmdrQ2hCOztBcUJsaUNFO0VDekdNLHNCQUE2RDtFQUE3RCx1QkFBNkQ7QXRCZ3BDckU7O0FHMWdDTTtFa0I3Qko7SUN6R00sdUJBQTZEO0lBQTdELHdCQUE2RDtFdEJzcENuRTtBQUNGOztBcUI5aUNFO0VHMURFLDJCQUQ0RTtFRnJDMUUscUJBQTZEO0VBQTdELHNCQUE2RDtBdEJvcENuRTs7QUd2aENNO0VrQjdCSjtJRzFERSw0QkFENEU7SUZyQzFFLHNCQUE2RDtJQUE3RCx1QkFBNkQ7RXRCMnBDakU7QUFDRjs7QXFCcGxDRTtFRy9CRSxXQUFtQjtBeEJ1bkN2Qjs7QXFCcGxDRTtFRy9CRSxXQUFtQjtBeEJ1bkN2Qjs7QXFCaGxDSTtFR25DQSwrQkFEZ0g7QXhCd25DcEg7O0FxQnBsQ0k7RUduQ0EsZ0NBRGdIO0F4QjRuQ3BIOztBcUJ4bENJO0VHbkNBLDBCQURnSDtBeEJnb0NwSDs7QXFCNWxDSTtFR25DQSxnQ0FEZ0g7QXhCb29DcEg7O0FxQmhtQ0k7RUduQ0EsZ0NBRGdIO0F4QndvQ3BIOztBcUJwbUNJO0VHbkNBLDBCQURnSDtBeEI0b0NwSDs7QXFCeG1DSTtFR25DQSxnQ0FEZ0g7QXhCZ3BDcEg7O0FxQjVtQ0k7RUduQ0EsZ0NBRGdIO0F4Qm9wQ3BIOztBcUJobkNJO0VHbkNBLDBCQURnSDtBeEJ3cENwSDs7QXFCcG5DSTtFR25DQSxnQ0FEZ0g7QXhCNHBDcEg7O0FxQnhuQ0k7RUduQ0EsZ0NBRGdIO0F4QmdxQ3BIOztBcUI1bkNJO0VHbkNBLDJCQURnSDtBeEJvcUNwSDs7QUd2bENNO0VrQnJESjtJRy9CRSxXQUFtQjtFeEJnckNyQjtFcUI3b0NBO0lHL0JFLFdBQW1CO0V4QitxQ3JCO0VxQnhvQ0U7SUduQ0EsZ0NBRGdIO0V4QitxQ2xIO0VxQjNvQ0U7SUduQ0EsaUNBRGdIO0V4QmtyQ2xIO0VxQjlvQ0U7SUduQ0EsMkJBRGdIO0V4QnFyQ2xIO0VxQmpwQ0U7SUduQ0EsaUNBRGdIO0V4QndyQ2xIO0VxQnBwQ0U7SUduQ0EsaUNBRGdIO0V4QjJyQ2xIO0VxQnZwQ0U7SUduQ0EsMkJBRGdIO0V4QjhyQ2xIO0VxQjFwQ0U7SUduQ0EsaUNBRGdIO0V4QmlzQ2xIO0VxQjdwQ0U7SUduQ0EsaUNBRGdIO0V4Qm9zQ2xIO0VxQmhxQ0U7SUduQ0EsMkJBRGdIO0V4QnVzQ2xIO0VxQm5xQ0U7SUduQ0EsaUNBRGdIO0V4QjBzQ2xIO0VxQnRxQ0U7SUduQ0EsaUNBRGdIO0V4QjZzQ2xIO0VxQnpxQ0U7SUduQ0EsNEJBRGdIO0V4Qmd0Q2xIO0VxQnhyQ0E7SUcvQkUsV0FBbUI7RXhCMHRDckI7RXFCdnJDQTtJRy9CRSxXQUFtQjtFeEJ5dENyQjtFcUJsckNFO0lHbkNBLGdDQURnSDtFeEJ5dENsSDtFcUJyckNFO0lHbkNBLGlDQURnSDtFeEI0dENsSDtFcUJ4ckNFO0lHbkNBLDJCQURnSDtFeEIrdENsSDtFcUIzckNFO0lHbkNBLGlDQURnSDtFeEJrdUNsSDtFcUI5ckNFO0lHbkNBLGlDQURnSDtFeEJxdUNsSDtFcUJqc0NFO0lHbkNBLDJCQURnSDtFeEJ3dUNsSDtFcUJwc0NFO0lHbkNBLGlDQURnSDtFeEIydUNsSDtFcUJ2c0NFO0lHbkNBLGlDQURnSDtFeEI4dUNsSDtFcUIxc0NFO0lHbkNBLDJCQURnSDtFeEJpdkNsSDtFcUI3c0NFO0lHbkNBLGlDQURnSDtFeEJvdkNsSDtFcUJodENFO0lHbkNBLGlDQURnSDtFeEJ1dkNsSDtFcUJudENFO0lHbkNBLDRCQURnSDtFeEIwdkNsSDtBQUNGOztBRzlxQ007RWtCckRKO0lHL0JFLFdBQW1CO0V4QnV3Q3JCO0VxQnB1Q0E7SUcvQkUsV0FBbUI7RXhCc3dDckI7RXFCL3RDRTtJR25DQSxnQ0FEZ0g7RXhCc3dDbEg7RXFCbHVDRTtJR25DQSxpQ0FEZ0g7RXhCeXdDbEg7RXFCcnVDRTtJR25DQSwyQkFEZ0g7RXhCNHdDbEg7RXFCeHVDRTtJR25DQSxpQ0FEZ0g7RXhCK3dDbEg7RXFCM3VDRTtJR25DQSxpQ0FEZ0g7RXhCa3hDbEg7RXFCOXVDRTtJR25DQSwyQkFEZ0g7RXhCcXhDbEg7RXFCanZDRTtJR25DQSxpQ0FEZ0g7RXhCd3hDbEg7RXFCcHZDRTtJR25DQSxpQ0FEZ0g7RXhCMnhDbEg7RXFCdnZDRTtJR25DQSwyQkFEZ0g7RXhCOHhDbEg7RXFCMXZDRTtJR25DQSxpQ0FEZ0g7RXhCaXlDbEg7RXFCN3ZDRTtJR25DQSxpQ0FEZ0g7RXhCb3lDbEg7RXFCaHdDRTtJR25DQSw0QkFEZ0g7RXhCdXlDbEg7QUFDRjs7QXFCcHRDRTtFQzdJTSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0F0QnMyQ3JFOztBR2h1Q007RWtCT0o7SUM3SU0sd0JBQTZEO0lBQTdELHVCQUE2RDtFdEI0MkNuRTtBQUNGOztBcUJ2dENJO0VDdEpJLHVCQUE2RDtFQUE3RCxzQkFBNkQ7QXRCazNDckU7O0FHNXVDTTtFa0JnQkY7SUN0Skksd0JBQTZEO0lBQTdELHVCQUE2RDtFdEJ3M0NuRTtBQUNGOztBcUI1dUNFO0VDN0lNLHVCQUE2RDtFQUE3RCxzQkFBNkQ7QXRCODNDckU7O0FHeHZDTTtFa0JPSjtJQzdJTSx3QkFBNkQ7SUFBN0QsdUJBQTZEO0V0Qm80Q25FO0FBQ0Y7O0F5QnY0Q0U7RUQ0REUsV0FEb0Q7QXhCZzFDeEQ7O0F5QjM0Q0U7RUQ0REUsVUFEb0Q7QXhCbzFDeEQ7O0F5Qi80Q0U7RUQ0REUsZ0JBRG9EO0F4QncxQ3hEOztBeUJuNUNFO0VENERFLFVBRG9EO0F4QjQxQ3hEOztBeUJ2NUNFO0VENERFLFVBRG9EO0F4QmcyQ3hEOztBeUIzNUNFO0VENERFLGdCQURvRDtBeEJvMkN4RDs7QXlCLzVDRTtFRDRERSxnQkFEb0Q7QXhCdzJDeEQ7O0F5Qm42Q0U7RUQ0REUsWUFEb0Q7QXhCNDJDeEQ7O0FHL3hDTTtFc0J4SUo7SUQ0REUsV0FEb0Q7RXhCaTNDdEQ7RXlCNTZDQTtJRDRERSxVQURvRDtFeEJvM0N0RDtFeUIvNkNBO0lENERFLGdCQURvRDtFeEJ1M0N0RDtFeUJsN0NBO0lENERFLFVBRG9EO0V4QjAzQ3REO0V5QnI3Q0E7SUQ0REUsVUFEb0Q7RXhCNjNDdEQ7RXlCeDdDQTtJRDRERSxnQkFEb0Q7RXhCZzRDdEQ7RXlCMzdDQTtJRDRERSxnQkFEb0Q7RXhCbTRDdEQ7RXlCOTdDQTtJRDRERSxZQURvRDtFeEJzNEN0RDtBQUNGOztBRzF6Q007RXNCeElKO0lENERFLFdBRG9EO0V4QjQ0Q3REO0V5QnY4Q0E7SUQ0REUsVUFEb0Q7RXhCKzRDdEQ7RXlCMThDQTtJRDRERSxnQkFEb0Q7RXhCazVDdEQ7RXlCNzhDQTtJRDRERSxVQURvRDtFeEJxNUN0RDtFeUJoOUNBO0lENERFLFVBRG9EO0V4Qnc1Q3REO0V5Qm45Q0E7SUQ0REUsZ0JBRG9EO0V4QjI1Q3REO0V5QnQ5Q0E7SUQ0REUsZ0JBRG9EO0V4Qjg1Q3REO0V5Qno5Q0E7SUQ0REUsWUFEb0Q7RXhCaTZDdEQ7QUFDRjs7QXlCNzlDRTtFRDRERSwyQkFEZ0g7QXhCczZDcEg7O0F5QmorQ0U7RUQ0REUsMEJBRGdIO0F4QjA2Q3BIOztBeUJyK0NFO0VENERFLGdDQURnSDtBeEI4NkNwSDs7QXlCeitDRTtFRDRERSwwQkFEZ0g7QXhCazdDcEg7O0F5QjcrQ0U7RUQ0REUsMEJBRGdIO0F4QnM3Q3BIOztBeUJqL0NFO0VENERFLGdDQURnSDtBeEIwN0NwSDs7QXlCci9DRTtFRDRERSxnQ0FEZ0g7QXhCODdDcEg7O0F5QnovQ0U7RUQ0REUsNEJBRGdIO0F4Qms4Q3BIOztBR3IzQ007RXNCeElKO0lENERFLDRCQURnSDtFeEJ1OENsSDtFeUJsZ0RBO0lENERFLDJCQURnSDtFeEIwOENsSDtFeUJyZ0RBO0lENERFLGlDQURnSDtFeEI2OENsSDtFeUJ4Z0RBO0lENERFLDJCQURnSDtFeEJnOUNsSDtFeUIzZ0RBO0lENERFLDJCQURnSDtFeEJtOUNsSDtFeUI5Z0RBO0lENERFLGlDQURnSDtFeEJzOUNsSDtFeUJqaERBO0lENERFLGlDQURnSDtFeEJ5OUNsSDtFeUJwaERBO0lENERFLDZCQURnSDtFeEI0OUNsSDtFeUJ2aERBO0lENERFLDRCQURnSDtFeEIrOUNsSDtFeUIxaERBO0lENERFLDJCQURnSDtFeEJrK0NsSDtFeUI3aERBO0lENERFLGlDQURnSDtFeEJxK0NsSDtFeUJoaURBO0lENERFLDJCQURnSDtFeEJ3K0NsSDtFeUJuaURBO0lENERFLDJCQURnSDtFeEIyK0NsSDtFeUJ0aURBO0lENERFLGlDQURnSDtFeEI4K0NsSDtFeUJ6aURBO0lENERFLGlDQURnSDtFeEJpL0NsSDtFeUI1aURBO0lENERFLDZCQURnSDtFeEJvL0NsSDtBQUNGOztBR3g2Q007RXNCeElKO0lENERFLDRCQURnSDtFeEIwL0NsSDtFeUJyakRBO0lENERFLDJCQURnSDtFeEI2L0NsSDtFeUJ4akRBO0lENERFLGlDQURnSDtFeEJnZ0RsSDtFeUIzakRBO0lENERFLDJCQURnSDtFeEJtZ0RsSDtFeUI5akRBO0lENERFLDJCQURnSDtFeEJzZ0RsSDtFeUJqa0RBO0lENERFLGlDQURnSDtFeEJ5Z0RsSDtFeUJwa0RBO0lENERFLGlDQURnSDtFeEI0Z0RsSDtFeUJ2a0RBO0lENERFLDZCQURnSDtFeEIrZ0RsSDtBQUNGOztBcUJoNENNO0VLaE5FLGVBQTBCO0VBQTFCLGNBQTBCO0ExQnFsRGxDOztBMEJsbERNO0VBRUksZUFBMEI7RUFBMUIsY0FBMEI7QTFCcWxEcEM7O0EwQi9qRFk7RUZzQ1IsZUFEb0Q7QXhCOGhEeEQ7O0EwQm5rRFk7RUZzQ1IsZ0JBRG9EO0F4QmtpRHhEOztBMEJ2a0RZO0VGc0NSLFVBRG9EO0F4QnNpRHhEOztBMEIza0RZO0VGc0NSLGdCQURvRDtBeEIwaUR4RDs7QTBCL2tEWTtFRnNDUixnQkFEb0Q7QXhCOGlEeEQ7O0EwQm5sRFk7RUZzQ1IsVUFEb0Q7QXhCa2pEeEQ7O0EwQnZsRFk7RUZzQ1IsZ0JBRG9EO0F4QnNqRHhEOztBMEIzbERZO0VGc0NSLGdCQURvRDtBeEIwakR4RDs7QTBCL2xEWTtFRnNDUixVQURvRDtBeEI4akR4RDs7QTBCbm1EWTtFRnNDUixnQkFEb0Q7QXhCa2tEeEQ7O0EwQnZtRFk7RUZzQ1IsZ0JBRG9EO0F4QnNrRHhEOztBMEIzbURZO0VGc0NSLFdBRG9EO0F4QjBrRHhEOztBRzcvQ007RXVCbEhNO0lGc0NSLGVBRG9EO0V4QitrRHREO0UwQnBuRFU7SUZzQ1IsZ0JBRG9EO0V4QmtsRHREO0UwQnZuRFU7SUZzQ1IsVUFEb0Q7RXhCcWxEdEQ7RTBCMW5EVTtJRnNDUixnQkFEb0Q7RXhCd2xEdEQ7RTBCN25EVTtJRnNDUixnQkFEb0Q7RXhCMmxEdEQ7RTBCaG9EVTtJRnNDUixVQURvRDtFeEI4bER0RDtFMEJub0RVO0lGc0NSLGdCQURvRDtFeEJpbUR0RDtFMEJ0b0RVO0lGc0NSLGdCQURvRDtFeEJvbUR0RDtFMEJ6b0RVO0lGc0NSLFVBRG9EO0V4QnVtRHREO0UwQjVvRFU7SUZzQ1IsZ0JBRG9EO0V4QjBtRHREO0UwQi9vRFU7SUZzQ1IsZ0JBRG9EO0V4QjZtRHREO0UwQmxwRFU7SUZzQ1IsV0FEb0Q7RXhCZ25EdEQ7QUFDRjs7QUdwaURNO0V1QmxITTtJRnNDUixlQURvRDtFeEJzbkR0RDtFMEIzcERVO0lGc0NSLGdCQURvRDtFeEJ5bkR0RDtFMEI5cERVO0lGc0NSLFVBRG9EO0V4QjRuRHREO0UwQmpxRFU7SUZzQ1IsZ0JBRG9EO0V4QituRHREO0UwQnBxRFU7SUZzQ1IsZ0JBRG9EO0V4QmtvRHREO0UwQnZxRFU7SUZzQ1IsVUFEb0Q7RXhCcW9EdEQ7RTBCMXFEVTtJRnNDUixnQkFEb0Q7RXhCd29EdEQ7RTBCN3FEVTtJRnNDUixnQkFEb0Q7RXhCMm9EdEQ7RTBCaHJEVTtJRnNDUixVQURvRDtFeEI4b0R0RDtFMEJuckRVO0lGc0NSLGdCQURvRDtFeEJpcER0RDtFMEJ0ckRVO0lGc0NSLGdCQURvRDtFeEJvcER0RDtFMEJ6ckRVO0lGc0NSLFdBRG9EO0V4QnVwRHREO0FBQ0Y7O0FxQmxnRE07RUsvS0UsZUFBMEI7RUFBMUIsY0FBMEI7QTFCc3JEbEM7O0EwQm5yRE07RUFFSSxnQkFBNEI7RUFBNUIsZUFBNEI7QTFCc3JEdEM7O0FHcmxETTtFa0JtRUE7SUtoTkUsZUFBMEI7SUFBMUIsY0FBMEI7RTFCd3VEaEM7RTBCcnVESTtJQUVJLGVBQTBCO0lBQTFCLGNBQTBCO0UxQnV1RGxDO0FBQ0Y7O0FHaG1ETTtFdUIzSE07SUYrQ1IsZUFEb0Q7RXhCa3JEdEQ7RTBCaHVEVTtJRitDUixnQkFEb0Q7RXhCcXJEdEQ7RTBCbnVEVTtJRitDUixVQURvRDtFeEJ3ckR0RDtFMEJ0dURVO0lGK0NSLGdCQURvRDtFeEIyckR0RDtFMEJ6dURVO0lGK0NSLGdCQURvRDtFeEI4ckR0RDtFMEI1dURVO0lGK0NSLFVBRG9EO0V4QmlzRHREO0UwQi91RFU7SUYrQ1IsZ0JBRG9EO0V4Qm9zRHREO0UwQmx2RFU7SUYrQ1IsZ0JBRG9EO0V4QnVzRHREO0UwQnJ2RFU7SUYrQ1IsVUFEb0Q7RXhCMHNEdEQ7RTBCeHZEVTtJRitDUixnQkFEb0Q7RXhCNnNEdEQ7RTBCM3ZEVTtJRitDUixnQkFEb0Q7RXhCZ3REdEQ7RTBCOXZEVTtJRitDUixXQURvRDtFeEJtdER0RDtBQUNGOztBR3ZvRE07RXVCbEhNO0lGc0NSLGVBRG9EO0V4Qnl0RHREO0UwQjl2RFU7SUZzQ1IsZ0JBRG9EO0V4QjR0RHREO0UwQmp3RFU7SUZzQ1IsVUFEb0Q7RXhCK3REdEQ7RTBCcHdEVTtJRnNDUixnQkFEb0Q7RXhCa3VEdEQ7RTBCdndEVTtJRnNDUixnQkFEb0Q7RXhCcXVEdEQ7RTBCMXdEVTtJRnNDUixVQURvRDtFeEJ3dUR0RDtFMEI3d0RVO0lGc0NSLGdCQURvRDtFeEIydUR0RDtFMEJoeERVO0lGc0NSLGdCQURvRDtFeEI4dUR0RDtFMEJueERVO0lGc0NSLFVBRG9EO0V4Qml2RHREO0UwQnR4RFU7SUZzQ1IsZ0JBRG9EO0V4Qm92RHREO0UwQnp4RFU7SUZzQ1IsZ0JBRG9EO0V4QnV2RHREO0UwQjV4RFU7SUZzQ1IsV0FEb0Q7RXhCMHZEdEQ7QUFDRjs7QUc5cURNO0V1QmxITTtJRnNDUixlQURvRDtFeEJnd0R0RDtFMEJyeURVO0lGc0NSLGdCQURvRDtFeEJtd0R0RDtFMEJ4eURVO0lGc0NSLFVBRG9EO0V4QnN3RHREO0UwQjN5RFU7SUZzQ1IsZ0JBRG9EO0V4Qnl3RHREO0UwQjl5RFU7SUZzQ1IsZ0JBRG9EO0V4QjR3RHREO0UwQmp6RFU7SUZzQ1IsVUFEb0Q7RXhCK3dEdEQ7RTBCcHpEVTtJRnNDUixnQkFEb0Q7RXhCa3hEdEQ7RTBCdnpEVTtJRnNDUixnQkFEb0Q7RXhCcXhEdEQ7RTBCMXpEVTtJRnNDUixVQURvRDtFeEJ3eER0RDtFMEI3ekRVO0lGc0NSLGdCQURvRDtFeEIyeER0RDtFMEJoMERVO0lGc0NSLGdCQURvRDtFeEI4eER0RDtFMEJuMERVO0lGc0NSLFdBRG9EO0V4Qml5RHREO0FBQ0Y7O0FHcnRETTtFa0J5RUE7SUsvS0UsZUFBMEI7SUFBMUIsY0FBMEI7RTFCaTBEaEM7RTBCOXpESTtJQUVJLGdCQUE0QjtJQUE1QixlQUE0QjtFMUJnMERwQztBQUNGOztBR2h1RE07RWtCbUVBO0lLaE5FLGVBQTBCO0lBQTFCLGNBQTBCO0UxQm0zRGhDO0UwQmgzREk7SUFFSSxlQUEwQjtJQUExQixjQUEwQjtFMUJrM0RsQztBQUNGOztBRzN1RE07RXVCM0hNO0lGK0NSLGVBRG9EO0V4QjZ6RHREO0UwQjMyRFU7SUYrQ1IsZ0JBRG9EO0V4QmcwRHREO0UwQjkyRFU7SUYrQ1IsVUFEb0Q7RXhCbTBEdEQ7RTBCajNEVTtJRitDUixnQkFEb0Q7RXhCczBEdEQ7RTBCcDNEVTtJRitDUixnQkFEb0Q7RXhCeTBEdEQ7RTBCdjNEVTtJRitDUixVQURvRDtFeEI0MER0RDtFMEIxM0RVO0lGK0NSLGdCQURvRDtFeEIrMER0RDtFMEI3M0RVO0lGK0NSLGdCQURvRDtFeEJrMUR0RDtFMEJoNERVO0lGK0NSLFVBRG9EO0V4QnExRHREO0UwQm40RFU7SUYrQ1IsZ0JBRG9EO0V4QncxRHREO0UwQnQ0RFU7SUYrQ1IsZ0JBRG9EO0V4QjIxRHREO0UwQno0RFU7SUYrQ1IsV0FEb0Q7RXhCODFEdEQ7QUFDRjs7QUdseERNO0V1QjNITTtJRitDUixlQURvRDtFeEJvMkR0RDtFMEJsNURVO0lGK0NSLGdCQURvRDtFeEJ1MkR0RDtFMEJyNURVO0lGK0NSLFVBRG9EO0V4QjAyRHREO0UwQng1RFU7SUYrQ1IsZ0JBRG9EO0V4QjYyRHREO0UwQjM1RFU7SUYrQ1IsZ0JBRG9EO0V4QmczRHREO0UwQjk1RFU7SUYrQ1IsVUFEb0Q7RXhCbTNEdEQ7RTBCajZEVTtJRitDUixnQkFEb0Q7RXhCczNEdEQ7RTBCcDZEVTtJRitDUixnQkFEb0Q7RXhCeTNEdEQ7RTBCdjZEVTtJRitDUixVQURvRDtFeEI0M0R0RDtFMEIxNkRVO0lGK0NSLGdCQURvRDtFeEIrM0R0RDtFMEI3NkRVO0lGK0NSLGdCQURvRDtFeEJrNER0RDtFMEJoN0RVO0lGK0NSLFdBRG9EO0V4QnE0RHREO0FBQ0Y7O0FHenpETTtFdUJsSE07SUZzQ1IsZUFEb0Q7RXhCMjREdEQ7RTBCaDdEVTtJRnNDUixnQkFEb0Q7RXhCODREdEQ7RTBCbjdEVTtJRnNDUixVQURvRDtFeEJpNUR0RDtFMEJ0N0RVO0lGc0NSLGdCQURvRDtFeEJvNUR0RDtFMEJ6N0RVO0lGc0NSLGdCQURvRDtFeEJ1NUR0RDtFMEI1N0RVO0lGc0NSLFVBRG9EO0V4QjA1RHREO0UwQi83RFU7SUZzQ1IsZ0JBRG9EO0V4QjY1RHREO0UwQmw4RFU7SUZzQ1IsZ0JBRG9EO0V4Qmc2RHREO0UwQnI4RFU7SUZzQ1IsVUFEb0Q7RXhCbTZEdEQ7RTBCeDhEVTtJRnNDUixnQkFEb0Q7RXhCczZEdEQ7RTBCMzhEVTtJRnNDUixnQkFEb0Q7RXhCeTZEdEQ7RTBCOThEVTtJRnNDUixXQURvRDtFeEI0NkR0RDtBQUNGOztBR2gyRE07RWtCeUVBO0lLL0tFLGVBQTBCO0lBQTFCLGNBQTBCO0UxQjQ4RGhDO0UwQno4REk7SUFFSSxnQkFBNEI7SUFBNUIsZUFBNEI7RTFCMjhEcEM7QUFDRjs7QXFCcHhETTtFTWhPRixlQUE2QjtBM0J3L0RqQzs7QXFCcHhETTtFTXBPRixnQ0FBNkI7QTNCNC9EakM7O0FxQjV4RE07RU1oT0YscUJBQTZCO0EzQmdnRWpDOztBcUI1eERNO0VNcE9GLHNDQUE2QjtBM0JvZ0VqQzs7QXFCcHlETTtFTWhPRixzQkFBNkI7QTNCd2dFakM7O0FxQnB5RE07RU1wT0YsdUNBQTZCO0EzQjRnRWpDOztBcUI1eURNO0VNaE9GLGdCQUE2QjtBM0JnaEVqQzs7QXFCNXlETTtFTXBPRixpQ0FBNkI7QTNCb2hFakM7O0FxQnB6RE07RU1oT0Ysc0JBQTZCO0EzQndoRWpDOztBcUJwekRNO0VNcE9GLHVDQUE2QjtBM0I0aEVqQzs7QXFCNXpETTtFTWhPRixzQkFBNkI7QTNCZ2lFakM7O0FxQjV6RE07RU1wT0YsdUNBQTZCO0EzQm9pRWpDOztBcUJwMERNO0VNaE9GLGdCQUE2QjtBM0J3aUVqQzs7QXFCcDBETTtFTXBPRixpQ0FBNkI7QTNCNGlFakM7O0FxQjUwRE07RU1oT0Ysc0JBQTZCO0EzQmdqRWpDOztBcUI1MERNO0VNcE9GLHVDQUE2QjtBM0JvakVqQzs7QXFCcDFETTtFTWhPRixzQkFBNkI7QTNCd2pFakM7O0FxQnAxRE07RU1wT0YsdUNBQTZCO0EzQjRqRWpDOztBcUI1MURNO0VNaE9GLGdCQUE2QjtBM0Jna0VqQzs7QXFCNTFETTtFTXBPRixpQ0FBNkI7QTNCb2tFakM7O0FxQnAyRE07RU1oT0Ysc0JBQTZCO0EzQndrRWpDOztBcUJwMkRNO0VNcE9GLHVDQUE2QjtBM0I0a0VqQzs7QXFCNTJETTtFTWhPRixzQkFBNkI7QTNCZ2xFakM7O0FxQjUyRE07RU1wT0YsdUNBQTZCO0EzQm9sRWpDOztBRzM4RE07RWtCdUZBO0lNaE9GLGVBQTZCO0UzQnlsRS9CO0VxQnIzREk7SU1wT0YsaUNBQTZCO0UzQjRsRS9CO0VxQjUzREk7SU1oT0YscUJBQTZCO0UzQitsRS9CO0VxQjMzREk7SU1wT0YsdUNBQTZCO0UzQmttRS9CO0VxQmw0REk7SU1oT0Ysc0JBQTZCO0UzQnFtRS9CO0VxQmo0REk7SU1wT0Ysd0NBQTZCO0UzQndtRS9CO0VxQng0REk7SU1oT0YsZ0JBQTZCO0UzQjJtRS9CO0VxQnY0REk7SU1wT0Ysa0NBQTZCO0UzQjhtRS9CO0VxQjk0REk7SU1oT0Ysc0JBQTZCO0UzQmluRS9CO0VxQjc0REk7SU1wT0Ysd0NBQTZCO0UzQm9uRS9CO0VxQnA1REk7SU1oT0Ysc0JBQTZCO0UzQnVuRS9CO0VxQm41REk7SU1wT0Ysd0NBQTZCO0UzQjBuRS9CO0VxQjE1REk7SU1oT0YsZ0JBQTZCO0UzQjZuRS9CO0VxQno1REk7SU1wT0Ysa0NBQTZCO0UzQmdvRS9CO0VxQmg2REk7SU1oT0Ysc0JBQTZCO0UzQm1vRS9CO0VxQi81REk7SU1wT0Ysd0NBQTZCO0UzQnNvRS9CO0VxQnQ2REk7SU1oT0Ysc0JBQTZCO0UzQnlvRS9CO0VxQnI2REk7SU1wT0Ysd0NBQTZCO0UzQjRvRS9CO0VxQjU2REk7SU1oT0YsZ0JBQTZCO0UzQitvRS9CO0VxQjM2REk7SU1wT0Ysa0NBQTZCO0UzQmtwRS9CO0VxQmw3REk7SU1oT0Ysc0JBQTZCO0UzQnFwRS9CO0VxQmo3REk7SU1wT0Ysd0NBQTZCO0UzQndwRS9CO0VxQng3REk7SU1oT0Ysc0JBQTZCO0UzQjJwRS9CO0VxQnY3REk7SU1wT0Ysd0NBQTZCO0UzQjhwRS9CO0FBQ0Y7O0FHdGhFTTtFa0J1RkE7SU1oT0YsZUFBNkI7RTNCb3FFL0I7RXFCaDhESTtJTXBPRixpQ0FBNkI7RTNCdXFFL0I7RXFCdjhESTtJTWhPRixxQkFBNkI7RTNCMHFFL0I7RXFCdDhESTtJTXBPRix1Q0FBNkI7RTNCNnFFL0I7RXFCNzhESTtJTWhPRixzQkFBNkI7RTNCZ3JFL0I7RXFCNThESTtJTXBPRix3Q0FBNkI7RTNCbXJFL0I7RXFCbjlESTtJTWhPRixnQkFBNkI7RTNCc3JFL0I7RXFCbDlESTtJTXBPRixrQ0FBNkI7RTNCeXJFL0I7RXFCejlESTtJTWhPRixzQkFBNkI7RTNCNHJFL0I7RXFCeDlESTtJTXBPRix3Q0FBNkI7RTNCK3JFL0I7RXFCLzlESTtJTWhPRixzQkFBNkI7RTNCa3NFL0I7RXFCOTlESTtJTXBPRix3Q0FBNkI7RTNCcXNFL0I7RXFCcitESTtJTWhPRixnQkFBNkI7RTNCd3NFL0I7RXFCcCtESTtJTXBPRixrQ0FBNkI7RTNCMnNFL0I7RXFCMytESTtJTWhPRixzQkFBNkI7RTNCOHNFL0I7RXFCMStESTtJTXBPRix3Q0FBNkI7RTNCaXRFL0I7RXFCai9ESTtJTWhPRixzQkFBNkI7RTNCb3RFL0I7RXFCaC9ESTtJTXBPRix3Q0FBNkI7RTNCdXRFL0I7RXFCdi9ESTtJTWhPRixnQkFBNkI7RTNCMHRFL0I7RXFCdC9ESTtJTXBPRixrQ0FBNkI7RTNCNnRFL0I7RXFCNy9ESTtJTWhPRixzQkFBNkI7RTNCZ3VFL0I7RXFCNS9ESTtJTXBPRix3Q0FBNkI7RTNCbXVFL0I7RXFCbmdFSTtJTWhPRixzQkFBNkI7RTNCc3VFL0I7RXFCbGdFSTtJTXBPRix3Q0FBNkI7RTNCeXVFL0I7QUFDRjs7QXFCN3BFZ0I7RUV4RWQsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFINkI7RUFHN0IsNkJBSDZCO01BRzdCLDRCQUg2QjtVQUc3Qix3QkFINkI7QXZCNHVFL0I7O0FxQnovREU7RUc3TUEsV0FBbUI7RUFDbkIsZUFBMkI7QXhCMHNFN0I7O0FxQjkvREU7RUdqTUUsWUFBbUI7QXhCbXNFdkI7O0FxQmxnRUU7RUc3TEUsWUFBbUI7QXhCbXNFdkI7O0FxQnRnRUU7RUEyQk0sNkJBQWdCO01BQWhCLGdCQUFnQjtBckIrK0R4Qjs7QUd2bkVNO0VrQjZHSjtJQTJCTSw2QkFBZ0I7UUFBaEIsZ0JBQWdCO0VyQm8vRHRCO0FBQ0Y7O0FHN25FTTtFa0I2R0o7SUEyQk0sNkJBQWdCO1FBQWhCLGdCQUFnQjtFckIwL0R0QjtBQUNGOztBcUJ0aEVFO0VHek5FLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0F4Qm12RWxCOztBcUIxaEVFO0VHekxFLGdCQURvRDtBeEJ3dEV4RDs7QXFCOWhFRTtFR3pMRSxpQkFEb0Q7QXhCNHRFeEQ7O0FxQmxpRUU7RUd6TEUsV0FEb0Q7QXhCZ3VFeEQ7O0FxQnRpRUU7RUd6TEUsaUJBRG9EO0F4Qm91RXhEOztBcUIxaUVFO0VHekxFLGlCQURvRDtBeEJ3dUV4RDs7QXFCOWlFRTtFR3pMRSxXQURvRDtBeEI0dUV4RDs7QXFCbGpFRTtFR3pMRSxpQkFEb0Q7QXhCZ3ZFeEQ7O0FxQnRqRUU7RUd6TEUsaUJBRG9EO0F4Qm92RXhEOztBcUIxakVFO0VHekxFLFdBRG9EO0F4Qnd2RXhEOztBcUI5akVFO0VHekxFLGlCQURvRDtBeEI0dkV4RDs7QXFCbGtFRTtFR3pMRSxpQkFEb0Q7QXhCZ3dFeEQ7O0FxQnRrRUU7RUd6TEUsWUFEb0Q7QXhCb3dFeEQ7O0FHdnJFTTtFa0I2R0o7SUc1TkUsbUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWE7SUEyQmIsWUFBbUI7RXhCaXhFckI7RXFCaGxFQTtJR3pORSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztFeEI0eUVoQjtFcUJubEVBO0lHN0xFLFlBQW1CO0V4Qm14RXJCO0VxQnRsRUE7SUd6TEUsZ0JBRG9EO0V4Qm14RXREO0VxQnpsRUE7SUd6TEUsaUJBRG9EO0V4QnN4RXREO0VxQjVsRUE7SUd6TEUsV0FEb0Q7RXhCeXhFdEQ7RXFCL2xFQTtJR3pMRSxpQkFEb0Q7RXhCNHhFdEQ7RXFCbG1FQTtJR3pMRSxpQkFEb0Q7RXhCK3hFdEQ7RXFCcm1FQTtJR3pMRSxXQURvRDtFeEJreUV0RDtFcUJ4bUVBO0lHekxFLGlCQURvRDtFeEJxeUV0RDtFcUIzbUVBO0lHekxFLGlCQURvRDtFeEJ3eUV0RDtFcUI5bUVBO0lHekxFLFdBRG9EO0V4QjJ5RXREO0VxQmpuRUE7SUd6TEUsaUJBRG9EO0V4Qjh5RXREO0VxQnBuRUE7SUd6TEUsaUJBRG9EO0V4Qml6RXREO0VxQnZuRUE7SUd6TEUsWUFEb0Q7RXhCb3pFdEQ7QUFDRjs7QUd4dUVNO0VrQjZHSjtJRzVORSxtQkFBYTtRQUFiLGlCQUFhO1lBQWIsYUFBYTtJQTJCYixZQUFtQjtFeEJrMEVyQjtFcUJqb0VBO0lHek5FLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0V4QjYxRWhCO0VxQnBvRUE7SUc3TEUsWUFBbUI7RXhCbzBFckI7RXFCdm9FQTtJR3pMRSxnQkFEb0Q7RXhCbzBFdEQ7RXFCMW9FQTtJR3pMRSxpQkFEb0Q7RXhCdTBFdEQ7RXFCN29FQTtJR3pMRSxXQURvRDtFeEIwMEV0RDtFcUJocEVBO0lHekxFLGlCQURvRDtFeEI2MEV0RDtFcUJucEVBO0lHekxFLGlCQURvRDtFeEJnMUV0RDtFcUJ0cEVBO0lHekxFLFdBRG9EO0V4Qm0xRXREO0VxQnpwRUE7SUd6TEUsaUJBRG9EO0V4QnMxRXREO0VxQjVwRUE7SUd6TEUsaUJBRG9EO0V4QnkxRXREO0VxQi9wRUE7SUd6TEUsV0FEb0Q7RXhCNDFFdEQ7RXFCbHFFQTtJR3pMRSxpQkFEb0Q7RXhCKzFFdEQ7RXFCcnFFQTtJR3pMRSxpQkFEb0Q7RXhCazJFdEQ7RXFCeHFFQTtJR3pMRSxZQURvRDtFeEJxMkV0RDtBQUNGOztBcUIzbUVJO0VDcFRJLHFCQUE2RDtFQUE3RCx3QkFBNkQ7QXRCbzZFckU7O0FHOXhFTTtFa0I4S0Y7SUNwVEksc0JBQTZEO0lBQTdELHlCQUE2RDtFdEIwNkVuRTtBQUNGOztBcUJ2bkVJO0VDcFRJLHFCQUE2RDtFQUE3RCx3QkFBNkQ7QXRCZzdFckU7O0FHMXlFTTtFa0I4S0Y7SUNwVEksc0JBQTZEO0lBQTdELHlCQUE2RDtFdEJzN0VuRTtBQUNGOztBcUI5MEVFO0VDekdNLHFCQUE2RDtFQUE3RCx3QkFBNkQ7QXRCNDdFckU7O0FHdHpFTTtFa0I3Qko7SUN6R00sc0JBQTZEO0lBQTdELHlCQUE2RDtFdEJrOEVuRTtBQUNGOztBcUIxMUVFO0VHMURFLDRCQUQ0RTtFRnJDMUUsb0JBQTZEO0VBQTdELHVCQUE2RDtBdEJnOEVuRTs7QUduMEVNO0VrQjdCSjtJRzFERSw2QkFENEU7SUZyQzFFLHFCQUE2RDtJQUE3RCx3QkFBNkQ7RXRCdThFakU7QUFDRjs7QXFCaDRFRTtFRy9CRSxZQUFtQjtBeEJtNkV2Qjs7QXFCaDRFRTtFRy9CRSxZQUFtQjtBeEJtNkV2Qjs7QXFCNTNFSTtFR25DQSxnQ0FEZ0g7QXhCbzZFcEg7O0FxQmg0RUk7RUduQ0EsaUNBRGdIO0F4Qnc2RXBIOztBcUJwNEVJO0VHbkNBLDJCQURnSDtBeEI0NkVwSDs7QXFCeDRFSTtFR25DQSxpQ0FEZ0g7QXhCZzdFcEg7O0FxQjU0RUk7RUduQ0EsaUNBRGdIO0F4Qm83RXBIOztBcUJoNUVJO0VHbkNBLDJCQURnSDtBeEJ3N0VwSDs7QXFCcDVFSTtFR25DQSxpQ0FEZ0g7QXhCNDdFcEg7O0FxQng1RUk7RUduQ0EsaUNBRGdIO0F4Qmc4RXBIOztBcUI1NUVJO0VHbkNBLDJCQURnSDtBeEJvOEVwSDs7QXFCaDZFSTtFR25DQSxpQ0FEZ0g7QXhCdzhFcEg7O0FxQnA2RUk7RUduQ0EsaUNBRGdIO0F4QjQ4RXBIOztBcUJ4NkVJO0VHbkNBLDRCQURnSDtBeEJnOUVwSDs7QUduNEVNO0VrQnJESjtJRy9CRSxZQUFtQjtFeEI0OUVyQjtFcUJ6N0VBO0lHL0JFLFlBQW1CO0V4QjI5RXJCO0VxQnA3RUU7SUduQ0EsaUNBRGdIO0V4QjI5RWxIO0VxQnY3RUU7SUduQ0Esa0NBRGdIO0V4Qjg5RWxIO0VxQjE3RUU7SUduQ0EsNEJBRGdIO0V4QmkrRWxIO0VxQjc3RUU7SUduQ0Esa0NBRGdIO0V4Qm8rRWxIO0VxQmg4RUU7SUduQ0Esa0NBRGdIO0V4QnUrRWxIO0VxQm44RUU7SUduQ0EsNEJBRGdIO0V4QjArRWxIO0VxQnQ4RUU7SUduQ0Esa0NBRGdIO0V4QjYrRWxIO0VxQno4RUU7SUduQ0Esa0NBRGdIO0V4QmcvRWxIO0VxQjU4RUU7SUduQ0EsNEJBRGdIO0V4Qm0vRWxIO0VxQi84RUU7SUduQ0Esa0NBRGdIO0V4QnMvRWxIO0VxQmw5RUU7SUduQ0Esa0NBRGdIO0V4QnkvRWxIO0VxQnI5RUU7SUduQ0EsNkJBRGdIO0V4QjQvRWxIO0VxQnArRUE7SUcvQkUsWUFBbUI7RXhCc2dGckI7RXFCbitFQTtJRy9CRSxZQUFtQjtFeEJxZ0ZyQjtFcUI5OUVFO0lHbkNBLGlDQURnSDtFeEJxZ0ZsSDtFcUJqK0VFO0lHbkNBLGtDQURnSDtFeEJ3Z0ZsSDtFcUJwK0VFO0lHbkNBLDRCQURnSDtFeEIyZ0ZsSDtFcUJ2K0VFO0lHbkNBLGtDQURnSDtFeEI4Z0ZsSDtFcUIxK0VFO0lHbkNBLGtDQURnSDtFeEJpaEZsSDtFcUI3K0VFO0lHbkNBLDRCQURnSDtFeEJvaEZsSDtFcUJoL0VFO0lHbkNBLGtDQURnSDtFeEJ1aEZsSDtFcUJuL0VFO0lHbkNBLGtDQURnSDtFeEIwaEZsSDtFcUJ0L0VFO0lHbkNBLDRCQURnSDtFeEI2aEZsSDtFcUJ6L0VFO0lHbkNBLGtDQURnSDtFeEJnaUZsSDtFcUI1L0VFO0lHbkNBLGtDQURnSDtFeEJtaUZsSDtFcUIvL0VFO0lHbkNBLDZCQURnSDtFeEJzaUZsSDtBQUNGOztBRzE5RU07RWtCckRKO0lHL0JFLFlBQW1CO0V4Qm1qRnJCO0VxQmhoRkE7SUcvQkUsWUFBbUI7RXhCa2pGckI7RXFCM2dGRTtJR25DQSxpQ0FEZ0g7RXhCa2pGbEg7RXFCOWdGRTtJR25DQSxrQ0FEZ0g7RXhCcWpGbEg7RXFCamhGRTtJR25DQSw0QkFEZ0g7RXhCd2pGbEg7RXFCcGhGRTtJR25DQSxrQ0FEZ0g7RXhCMmpGbEg7RXFCdmhGRTtJR25DQSxrQ0FEZ0g7RXhCOGpGbEg7RXFCMWhGRTtJR25DQSw0QkFEZ0g7RXhCaWtGbEg7RXFCN2hGRTtJR25DQSxrQ0FEZ0g7RXhCb2tGbEg7RXFCaGlGRTtJR25DQSxrQ0FEZ0g7RXhCdWtGbEg7RXFCbmlGRTtJR25DQSw0QkFEZ0g7RXhCMGtGbEg7RXFCdGlGRTtJR25DQSxrQ0FEZ0g7RXhCNmtGbEg7RXFCemlGRTtJR25DQSxrQ0FEZ0g7RXhCZ2xGbEg7RXFCNWlGRTtJR25DQSw2QkFEZ0g7RXhCbWxGbEg7QUFDRjs7QXFCcDBFRTtFT3pWRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLHFCQUFpQjtNQUFqQixpQkFBaUI7RUFDakIsMEJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0I7RUEyQmhCLFlBQXNDO0E1QnVvRjlDOztBcUJ4MEVFO0VBQ0UsV0FBVztBckIyMEVmOztBcUJ4MEVFO0VPaFRFLGdCQUFnQjtFQUNoQixlQUFlO0VBR2pCLGlDQUFpQztFQUNqQyw0Q0FBNEM7QTVCMG5GOUM7O0FxQjMwRUU7RU94VEUsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFNbEIsaUNBQWlDO0VBQ2pDLDRDQUE0QztBNUJrb0Y5Qzs7QXFCOTBFRTtFTzdTQSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0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QUE2RDtFdEJ3ekZqRTtBQUNGOztBcUJqdkZFO0VHL0JFLFlBQW1CO0F4Qm94RnZCOztBcUJqdkZFO0VHL0JFLFlBQW1CO0F4Qm94RnZCOztBcUI3dUZJO0VHbkNBLGdDQURnSDtBeEJxeEZwSDs7QXFCanZGSTtFR25DQSxpQ0FEZ0g7QXhCeXhGcEg7O0FxQnJ2Rkk7RUduQ0EsMkJBRGdIO0F4QjZ4RnBIOztBcUJ6dkZJO0VHbkNBLGlDQURnSDtBeEJpeUZwSDs7QXFCN3ZGSTtFR25DQSxpQ0FEZ0g7QXhCcXlGcEg7O0FxQmp3Rkk7RUduQ0EsMkJBRGdIO0F4Qnl5RnBIOztBcUJyd0ZJO0VHbkNBLGlDQURnSDtBeEI2eUZwSDs7QXFCendGSTtFR25DQSxpQ0FEZ0g7QXhCaXpGcEg7O0FxQjd3Rkk7RUduQ0EsMkJBRGdIO0F4QnF6RnBIOztBcUJqeEZJO0VHbkNBLGlDQURnSDtBeEJ5ekZwSDs7QXFCcnhGSTtFR25DQSxpQ0FEZ0g7QXhCNnpGcEg7O0FxQnp4Rkk7RUduQ0EsNEJBRGdIO0F4QmkwRnBIOztBR3B2Rk07RWtCckRKO0lHL0JFLFlBQW1CO0V4QjYwRnJCO0VxQjF5RkE7SUcvQkUsWUFBbUI7RXhCNDBGckI7RXFCcnlGRTtJR25DQSxpQ0FEZ0g7RXhCNDBGbEg7RXFCeHlGRTtJR25DQSxrQ0FEZ0g7RXhCKzBGbEg7RXFCM3lGRTtJR25DQSw0QkFEZ0g7RXhCazFGbEg7RXFCOXlGRTtJR25DQSxrQ0FEZ0g7RXhCcTFGbEg7RXFCanpGRTtJR25DQSxrQ0FEZ0g7RXhCdzFGbEg7RXFCcHpGRTtJR25DQSw0QkFEZ0g7RXhCMjFGbEg7RXFCdnpGRTtJR25DQSxrQ0FEZ0g7RXhCODFGbEg7RXFCMXpGRTtJR25DQSxrQ0FEZ0g7RXhCaTJGbEg7RXFCN3pGRTtJR25DQSw0QkFEZ0g7RXhCbzJGbEg7RXFCaDBGRTtJR25DQSxrQ0FEZ0g7RXhCdTJGbEg7RXFCbjBGRTtJR25DQSxrQ0FEZ0g7RXhCMDJGbEg7RXFCdDBGRTtJR25DQSw2QkFEZ0g7RXhCNjJGbEg7RXFCcjFGQTtJRy9CRSxZQUFtQjtFeEJ1M0ZyQjtFcUJwMUZBO0lHL0JFLFlBQW1CO0V4QnMzRnJCO0VxQi8wRkU7SUduQ0EsaUNBRGdIO0V4QnMzRmxIO0VxQmwxRkU7SUduQ0Esa0NBRGdIO0V4QnkzRmxIO0VxQnIxRkU7SUduQ0EsNEJBRGdIO0V4QjQzRmxIO0VxQngxRkU7SUduQ0Esa0NBRGdIO0V4QiszRmxIO0VxQjMxRkU7SUduQ0Esa0NBRGdIO0V4Qms0RmxIO0VxQjkxRkU7SUduQ0EsNEJBRGdIO0V4QnE0RmxIO0VxQmoyRkU7SUduQ0Esa0NBRGdIO0V4Qnc0RmxIO0VxQnAyRkU7SUduQ0Esa0NBRGdIO0V4QjI0RmxIO0VxQnYyRkU7SUduQ0EsNEJBRGdIO0V4Qjg0RmxIO0VxQjEyRkU7SUduQ0Esa0NBRGdIO0V4Qmk1RmxIO0VxQjcyRkU7SUduQ0Esa0NBRGdIO0V4Qm81RmxIO0VxQmgzRkU7SUduQ0EsNkJBRGdIO0V4QnU1RmxIO0FBQ0Y7O0FHMzBGTTtFa0JyREo7SUcvQkUsWUFBbUI7RXhCbzZGckI7RXFCajRGQTtJRy9CRSxZQUFtQjtFeEJtNkZyQjtFcUI1M0ZFO0lHbkNBLGlDQURnSDtFeEJtNkZsSDtFcUIvM0ZFO0lHbkNBLGtDQURnSDtFeEJzNkZsSDtFcUJsNEZFO0lHbkNBLDRCQURnSDtFeEJ5NkZsSDtFcUJyNEZFO0lHbkNBLGtDQURnSDtFeEI0NkZsSDtFcUJ4NEZFO0lHbkNBLGtDQURnSDtFeEIrNkZsSDtFcUIzNEZFO0lHbkNBLDRCQURnSDtFeEJrN0ZsSDtFcUI5NEZFO0lHbkNBLGtDQURnSDtFeEJxN0ZsSDtFcUJqNUZFO0lHbkNBLGtDQURnSDtFeEJ3N0ZsSDtFcUJwNUZFO0lHbkNBLDRCQURnSDtFeEIyN0ZsSDtFcUJ2NUZFO0lHbkNBLGtDQURnSDtFeEI4N0ZsSDtFcUIxNUZFO0lHbkNBLGtDQURnSDtFeEJpOEZsSDtFcUI3NUZFO0lHbkNBLDZCQURnSDtFeEJvOEZsSDtBQUNGOztBcUI1bUZJO0VPL1lJLDZCQUFtQztBNUIrL0YzQzs7QUc1M0ZNO0VrQjRRRjtJTy9ZSSw4QkFBbUM7RTVCb2dHekM7QUFDRjs7QUdsNEZNO0VrQjRRRjtJTy9ZSSw4QkFBbUM7RTVCMGdHekM7QUFDRjs7QUd4NEZNO0VrQmdSQTtJT25aRSw4QkFBbUM7RTVCZ2hHekM7QUFDRjs7QUc5NEZNO0VrQmdSQTtJT25aRSw4QkFBbUM7RTVCc2hHekM7QUFDRjs7QTZCanpGRTtFQWhMQSxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLGtCQXpFa0M7RUFtRmhDLG9CNUJuRHdCO0U0QnNEMUIsNkJBQTZCO0VBQzdCLGtCNUI5RGlCO0U0QitEakIseUVBMUJ1RTtFQTBCdkUsaUVBMUJ1RTtFQTJCdkUsK0I1Qi9FcUM7RTRCaUZyQyx3QkFBd0I7RUFDeEIsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixlQUFlO0VBcUNmLHlCNUJySnFCO0U0QnNKckIsY3ZCbEdhO0FOdWhHZjs7QUFFQTtFUW40RkksVUFBVTtBUnE0RmQ7O0E2QnY3RkU7RUFDRSx5QkEzSHVFO0VBNEh2RSxjdkJ0R1c7QU5naUdmOztBNkIzMEZFO0VBTU0saUI1QmxPUTtBRDJpR2hCOztBNkIvMEZFO0VBTU0sa0I1QmpPVTtBRDhpR2xCOztBNkJuMUZFO0VBTU0sZTVCaE9RO0FEaWpHaEI7O0E2QnYxRkU7RUFNTSxrQjVCL05VO0FEb2pHbEI7O0E2QjMxRkU7RUFsSkUsY0FBYztFQUNkLFdBQVc7RUFDWCxlQUFlO0VBQ2YsY0FBYztBN0JpL0ZsQjs7QTZCbDJGRTtFQXBIQSx5QjVCckpxQjtFNEJzSnJCLGN2QmxHYTtBTjRqR2Y7O0E2Qng5RkU7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCdEdXO0FOaWtHZjs7QTZCNTJGRTtFQXBIQSx5QjVCakp1QjtFNEJrSnZCLGN2QmxHYTtBTnNrR2Y7O0E2QmwrRkU7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCdEdXO0FOMmtHZjs7QTZCdDNGRTtFQXBIQSx5QjVCaEpxQjtFNEJpSnJCLGN2QnRHYTtBTm9sR2Y7O0E2QjUrRkU7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCMUdXO0FOeWxHZjs7QTZCaDRGRTtFQXBIQSx5QjVCOUlxQjtFNEIrSXJCLGN2QnRHYTtBTjhsR2Y7O0E2QnQvRkU7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCMUdXO0FObW1HZjs7QTZCMTRGRTtFQXBIQSx5QjVCL0ltQjtFNEJnSm5CLGN2QmxHYTtBTm9tR2Y7O0E2QmhnR0U7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCdEdXO0FOeW1HZjs7QTZCcDVGRTtFQTFEQSxhQWhKNEI7RUFpSjVCLG1CQUFtQjtBN0JrOUZyQjs7QTZCaDlGRTtFQUNFLHlCNUJuTm1CO0U0Qm9ObkIsY3ZCaEtXO0FObW5HZjs7QTZCOTVGRTtFQTFEQSxhQWhKNEI7RUFpSjVCLG1CQUFtQjtBN0I0OUZyQjs7QTZCMTlGRTtFQUNFLHlCNUJuTm1CO0U0Qm9ObkIsY3ZCaEtXO0FONm5HZjs7QTZCeDZGRTtFQTFEQSxhQWhKNEI7RUFpSjVCLG1CQUFtQjtBN0JzK0ZyQjs7QTZCcCtGRTtFQUNFLHlCNUIvTXFCO0U0QmdOckIsY3ZCaEtXO0FOdW9HZjs7QTZCbDdGRTtFQTFEQSxhQWhKNEI7RUFpSjVCLG1CQUFtQjtBN0JnL0ZyQjs7QTZCOStGRTtFQUNFLHlCNUI5TW1CO0U0QitNbkIsY3ZCcEtXO0FOcXBHZjs7QTZCNTdGRTtFQTFEQSxhQWhKNEI7RUFpSjVCLG1CQUFtQjtBN0IwL0ZyQjs7QTZCeC9GRTtFQUNFLHlCNUI1TW1CO0U0QjZNbkIsY3ZCcEtXO0FOK3BHZjs7QTZCdDhGRTtFQTFEQSxhQWhKNEI7RUFpSjVCLG1CQUFtQjtBN0JvZ0dyQjs7QTZCbGdHRTtFQUNFLHlCNUI3TWlCO0U0QjhNakIsY3ZCaEtXO0FOcXFHZjs7QTZCaDlGRTtFQW5GQSx5QjVCdExxQjtFNEJ1THJCLGM1QnZMcUI7QUQ4dEd2Qjs7QTZCOWpHRTtFQUdFLDZCQUE2QjtBN0IrakdqQzs7QTZCMWpHSTtFQUVFLDZCQUE2QjtBN0I0akduQzs7QTZCN2lHRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0J1akdqRTs7QTZCL2lHSTtFQUVFLHlCNUI5TGlCO0U0QitMakIsYzVCL0xpQjtBRGd2R3ZCOztBNkJ2K0ZFO0VBbkZBLHlCNUJ0THFCO0U0QnVMckIsYzVCdkxxQjtBRHF2R3ZCOztBNkI1akdFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3QnNrR2pFOztBNkI5akdJO0VBRUUseUI1QjlMaUI7RTRCK0xqQixjNUIvTGlCO0FEK3ZHdkI7O0E2QnQvRkU7RUFuRkEseUI1QmxMdUI7RTRCbUx2QixjNUJuTHVCO0FEZ3dHekI7O0E2QjNrR0U7RUFDRSxxQkFONkQ7RUFPN0QsY0FQNkQ7QTdCcWxHakU7O0E2QjdrR0k7RUFFRSx5QjVCMUxtQjtFNEIyTG5CLGM1QjNMbUI7QUQwd0d6Qjs7QTZCcmdHRTtFQW5GQSx5QjVCakxxQjtFNEJrTHJCLGM1QmxMcUI7QUQ4d0d2Qjs7QTZCMWxHRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0JvbUdqRTs7QTZCNWxHSTtFQUVFLHlCNUJ6TGlCO0U0QjBMakIsYzVCMUxpQjtBRHd4R3ZCOztBNkJwaEdFO0VBbkZBLHlCNUIvS3FCO0U0QmdMckIsYzVCaExxQjtBRDJ4R3ZCOztBNkJ6bUdFO0VBQ0UscUJBTjZEO0VBTzdELGNBUDZEO0E3Qm1uR2pFOztBNkIzbUdJO0VBRUUseUI1QnZMaUI7RTRCd0xqQixjNUJ4TGlCO0FEcXlHdkI7O0E2Qm5pR0U7RUFuRkEseUI1QmhMbUI7RTRCaUxuQixjNUJqTG1CO0FEMnlHckI7O0E2QnhuR0U7RUFDRSxxQkFONkQ7RUFPN0QsY0FQNkQ7QTdCa29HakU7O0E2QjFuR0k7RUFFRSx5QjVCeExlO0U0QnlMZixjNUJ6TGU7QURxekdyQjs7QTZCbGpHRTtFQW5GQSx5QjVCdExxQjtFNEJ1THJCLGM1QnZMcUI7QURnMEd2Qjs7QTZCaHFHRTtFQUdFLDZCQUE2QjtBN0JpcUdqQzs7QTZCNXBHSTtFQUVFLDZCQUE2QjtBN0I4cEduQzs7QTZCL29HRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0J5cEdqRTs7QTZCanBHSTtFQUVFLHlCNUI5TGlCO0U0QitMakIsYzVCL0xpQjtBRGsxR3ZCOztBNkJ6a0dFO0VBdUZVLHlCQUF5QjtBN0JzL0ZyQzs7QTZCN2tHRTtFQW5GQSx5QjVCdExxQjtFNEJ1THJCLGM1QnZMcUI7QUQyMUd2Qjs7QTZCbHFHRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0I0cUdqRTs7QTZCcHFHSTtFQUVFLHlCNUI5TGlCO0U0QitMakIsYzVCL0xpQjtBRHEyR3ZCOztBNkI1bEdFO0VBb0djLHlCQUF5QjtBN0I0L0Z6Qzs7QTZCaG1HRTtFQW5GQSx5QjVCbEx1QjtFNEJtTHZCLGM1Qm5MdUI7QUQwMkd6Qjs7QTZCcnJHRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0IrckdqRTs7QTZCdnJHSTtFQUVFLHlCNUIxTG1CO0U0QjJMbkIsYzVCM0xtQjtBRG8zR3pCOztBNkIvbUdFO0VBb0djLHlCQUF5QjtBN0IrZ0d6Qzs7QTZCbm5HRTtFQW5GQSx5QjVCakxxQjtFNEJrTHJCLGM1QmxMcUI7QUQ0M0d2Qjs7QTZCeHNHRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0JrdEdqRTs7QTZCMXNHSTtFQUVFLHlCNUJ6TGlCO0U0QjBMakIsYzVCMUxpQjtBRHM0R3ZCOztBNkJsb0dFO0VBb0djLHlCQUF5QjtBN0JraUd6Qzs7QTZCdG9HRTtFQW5GQSx5QjVCL0txQjtFNEJnTHJCLGM1QmhMcUI7QUQ2NEd2Qjs7QTZCM3RHRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0JxdUdqRTs7QTZCN3RHSTtFQUVFLHlCNUJ2TGlCO0U0QndMakIsYzVCeExpQjtBRHU1R3ZCOztBNkJycEdFO0VBb0djLHlCQUF5QjtBN0Jxakd6Qzs7QTZCenBHRTtFQW5GQSx5QjVCaExtQjtFNEJpTG5CLGM1QmpMbUI7QURpNkdyQjs7QTZCOXVHRTtFQUNFLHFCQU42RDtFQU83RCxjQVA2RDtBN0J3dkdqRTs7QTZCaHZHSTtFQUVFLHlCNUJ4TGU7RTRCeUxmLGM1QnpMZTtBRDI2R3JCOztBNkJ4cUdFO0VBb0djLHlCQUF5QjtBN0J3a0d6Qzs7QTZCcHRHRTtFckJ2TEEsY0FBYztFQUNkLFFBQVE7RUFDUixTQUFTO0VBRVQsbUJxQitLWTtFckI3S1osV0FBVztFQUdULHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsNkNBQXFEO0VxQjhLckQsa0JBQWtCO0VBQ2xCLFVBQVU7RUFFVixxQkFBcUI7RUFDckIsWUFBTztFQUNQLGlCNUJ0THdCO0FEbTVHNUI7O0E2QjVyR0U7RUF3SFEseUI1QmpZYTtBRHk4R3ZCOztBNkJoc0dFO0VBOEhZLHlCNUJ2WVM7QUQ2OEd2Qjs7QTZCcHNHRTtFQThIWSx5QjVCbllXO0FENjhHekI7O0E2QnhzR0U7RUE4SFkseUI1QmxZUztBRGc5R3ZCOztBNkI1c0dFO0VBOEhZLHlCNUJoWVM7QURrOUd2Qjs7QTZCaHRHRTtFQThIWSx5QjVCallPO0FEdTlHckI7O0E2QnB0R0U7RUF1SUksV0FBVztFQUNYLFdBQVc7RUFDWCxjQUFnQztBN0JpbEd0Qzs7QTZCN2tHRTtFQUdJLHFCQUFxQjtBN0I4a0czQjs7QThCbHlHRTtFQWpLQSxtQkExQnVCO0VBNkJyQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHFCQUFpQjtNQUFqQixpQkFBaUI7RUFDakIsMEJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0I7QTlCcThHeEI7O0FRcjBHRTtFQUVFLGNBQWM7RUFDZCxZQUFZO0VBR1YsMEJBQWE7TUFBYixhQUFhO0VBQ2IsNEJBQVE7TUFBUixpQkFBUTtVQUFSLFFBQVE7QVJxMEdkOztBUWowR0U7RUFDRSxXQUFXO0FSbzBHZjs7QThCMThHRTtFQUNFLFNBQVM7RUFDVCxpQkFuQ3FCO0VBb0NyQixrQkFwQ3FCO0VBd0NuQixtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztBOUIwOEdwQjs7QThCdjhHSTtFQUNFLGVBQWlDO0E5QjA4R3ZDOztBOEIvekdFO0VBTU0saUI3QjlKUTtBRDI5R2hCOztBOEJuMEdFO0VBTU0sa0I3QjdKVTtBRDg5R2xCOztBOEJ2MEdFO0VBTU0sZTdCNUpRO0FEaStHaEI7O0E4QjMwR0U7RUFNTSxrQjdCM0pVO0FEbytHbEI7O0E4QnI3R0U7RUFFSSxtQkFBYTtNQUFiLGlCQUFhO1VBQWIsYUFBYTtBOUJ1N0duQjs7QThCbjFHRTtFRGhEQSx5QjVCckpxQjtFNEJzSnJCLGN2QmxHYTtBTnkrR2Y7O0E2QnI0R0U7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCdEdXO0FOOCtHZjs7QThCNzFHRTtFRGhEQSx5QjVCakp1QjtFNEJrSnZCLGN2QmxHYTtBTm0vR2Y7O0E2Qi80R0U7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCdEdXO0FOdy9HZjs7QThCdjJHRTtFRGhEQSx5QjVCaEpxQjtFNEJpSnJCLGN2QnRHYTtBTmlnSGY7O0E2Qno1R0U7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCMUdXO0FOc2dIZjs7QThCajNHRTtFRGhEQSx5QjVCOUlxQjtFNEIrSXJCLGN2QnRHYTtBTjJnSGY7O0E2Qm42R0U7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCMUdXO0FOZ2hIZjs7QThCMzNHRTtFRGhEQSx5QjVCL0ltQjtFNEJnSm5CLGN2QmxHYTtBTmloSGY7O0E2Qjc2R0U7RUFDRSx5QkFQb0Y7RUFRcEYsY3ZCdEdXO0FOc2hIZjs7QThCcjRHRTtFQWxFRSxtQkFBZTtNQUFmLGVBQWU7QTlCMjhHbkI7O0E4Qng4R0U7RUFFSSxtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztBOUIwOEdwQjs7QThCcDhHSTtFQUNFLGdCQUFnQjtBOUJ1OEd0Qjs7QThCdi9HRTtFQUVJLG1CQUFhO01BQWIsaUJBQWE7VUFBYixhQUFhO0E5QnkvR25COztBR3A3R007RTJCSUo7SUFFSSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztJQUtoQixnQkFBZ0I7RTlCKzZHbEI7QUFDRjs7QUczN0dNO0UyQklKO0lBRUksbUJBQWM7UUFBZCxrQkFBYztZQUFkLGNBQWM7SUFLaEIsZ0JBQWdCO0U5QnM3R2xCO0FBQ0Y7O0FHNzdHTTtFMkIwQko7SUFzRE0sY0FBYztFOUJrM0dwQjtFOEJ4NkdBO0lBeURRLGNBQWM7SUFDZCxlQUFpQztFOUJrM0d6QztBQUNGOztBR3Y4R007RTJCMEJKO0lBaUVNLGNBQWM7RTlCaTNHcEI7RThCbDdHQTtJQW9FUSxjQUFjO0lBQ2QsZUFBaUM7RTlCaTNHekM7QUFDRjs7QStCN2hIRTtFQVhBLGtCQUFrQjtFQUNsQixjekJ6Q2lCO0V5QjBDakIsZUFBZTtBL0I0aUhqQjs7QUFFQTtFUTE3R0ksVUFBVTtBUjQ3R2Q7O0ErQjlpSEU7RUFFRSxjekIxQ1c7QU4wbEhmOztBK0IzaUhFO0VBdkJBLGNBekRjO0VBMERkLFdBbkRhO0VBb0RiLGdCQTdDWTtFQThDWixjQXhDd0I7QS9COG1IMUI7O0ErQmxqSEU7RUF2QkEsV0F4RFk7RUF5RFosV0FsRGM7RUFtRGQsY0E1Q1c7RUE2Q1gsY0F4Q3dCO0EvQnFuSDFCOztBZ0N0bUhFO0VBWkEscUJBQXFCO0VBQ3JCLDBCQVQrQjtFQVcvQixnQjFCbURlO0UwQmpEZixpQkFqQnNCO0VBa0J0QixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGVBQWU7RUFPYixtQi9CckRtQjtFK0JzRG5CLGMxQkZXO0FOZ25IZjs7QWdDbG5IRTtFQVFNLG1CL0IxRGU7RStCMkRmLGMxQlBPO0FOcW5IZjs7QWdDdm5IRTtFQVFNLG1CL0J0RGlCO0UrQnVEakIsYzFCUE87QU4wbkhmOztBZ0M1bkhFO0VBUU0sbUIvQnJEZTtFK0JzRGYsYzFCWE87QU5tb0hmOztBZ0Nqb0hFO0VBUU0sbUIvQm5EZTtFK0JvRGYsYzFCWE87QU53b0hmOztBZ0N0b0hFO0VBUU0sbUIvQnBEYTtFK0JxRGIsYzFCUE87QU55b0hmOztBaUNwcEhFO0VBbkNBLFlDSW9CO0VESHBCLG1CM0JpRWtCO0UyQmhFbEIsZ0IzQm9GZTtFMkJuRmYseUIzQitCbUI7QU40cEhyQjs7QWlDM3BIRTtFQU1RLHlCaEMvQ2E7QUR3c0h2Qjs7QWlDL3BIRTtFQU1RLHlCaEMzQ2U7QUR3c0h6Qjs7QWlDbnFIRTtFQU1RLHlCaEMxQ2E7QUQyc0h2Qjs7QWlDdnFIRTtFQU1RLHlCaEN4Q2E7QUQ2c0h2Qjs7QWlDM3FIRTtFQU1RLHlCaEN6Q1c7QURrdEhyQjs7QWlDbHFIRTtFQXhDQSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLFNBQVM7RUFDVCxZQUFZO0VBQ1oseUJoQ2xCcUI7QURndUh2Qjs7QWlDcnFI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SHpCOztBb0JuNkhJO0VrQjZEQSxtQkMvQjZDO0VEZ0M3QyxjaEM5RVc7QU53N0hmOztBc0N0MkhFO0VBQ0UsbUJDckM2QztFRHNDN0MsY2hDcEZXO0FONjdIZjs7QXNDcjJIRTs7RUFJSSx1QkFBdUI7QXRDczJIN0I7O0FzQzEySEU7Ozs7RUFVSSxpQy9CMURtRDtFK0IyRG5ELGlCaEMzRG1CO0VnQzREbkIsZ0JBQVk7QXRDdTJIbEI7O0FzQ2wySEU7O0VBR0ksaUMvQnBFbUQ7QVB3Nkh6RDs7QXNDMTZITTtFQUNFLGdCQUFnQjtFQUNoQix5QkNNeUM7QXZDdTZIakQ7O0FzQzkxSE07RUFFRSx5QmhDckhPO0FOcTlIZjs7QXNDbjZIRTtFQUNFLGdCQUFnQjtFQUNoQixnQ0NWNkM7RURXN0MseUJoQ3JEVztBTjI5SGY7O0FHcDJITTtFbUNnSEY7SUFDRSxhQUFhO0V0Q3d2SGpCO0VzQ3B2SEE7SUFDRSxhQUFhO0V0Q3N2SGY7RXNDbnZIQTs7O0lBR0UsY0FBYztFdENxdkhoQjtFc0NsdkhBO0lBQ0UsYUFBYTtFdENvdkhmO0FBQ0Y7O0FzQ3R1SEU7RUF2R0EsY0FBYztFQUNkLFdBQVc7RUFDWCxnQkFBZ0I7QXRDaTFIbEI7O0FzQzEwSEk7RUFDRSx5QkFyS21FO0F0Q2svSHpFOztBc0N2MEhJO0VBQ0UseUJBcEttRTtBdEM4K0h6RTs7QXNDcDBISTtFQUNFLHlCQTNNeUQ7QXRDa2hJL0Q7O0FzQ2gwSE07RUFDRSx5QkEvTW1GO0F0Q2toSTNGOztBc0NwdkhFO0VBQ0UsZ0JBQWdCO0F0Q3V2SHBCOztBd0N6Z0lFO0VBWEEscUJBQXFCO0VBQ3JCLGdCQVRvQjtFQVVwQixjQWRtQjtFQWdCbkIsa0JBQWtCO0VBRWxCLGlCQVZzQjtFQVd0QixrQkFBa0I7RUFPaEIsbUJ2Q3BEbUI7RXVDcURuQixjbENEVztBTmloSWY7O0F3Q3BoSUU7RUFRTSxtQnZDekRlO0V1QzBEZixjbENOTztBTnNoSWY7O0F3Q3poSUU7RUFRTSxtQnZDckRpQjtFdUNzRGpCLGNsQ05PO0FOMmhJZjs7QXdDOWhJRTtFQVFNLG1CdkNw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QUNkLG1CQUFtQjtBNUNrc0l2Qjs7QTRDeHJJSTtFQUVJLFlBMUNLO0E1Q291SWI7O0E0QzVySUk7RUFFSSxZQXpDTTtBNUN1dUlkOztBNENoc0lJO0VBRUksWUF4Q007QTVDMHVJZDs7QTZDOW1JRTtFQW5GQSxjQUFnQztFQUNoQyxtQnZDUGtCO0FONHNJcEI7O0FRM21JRTtFQUVFLGNBQWM7RUFDZCxZQUFZO0VBR1YsMEJBQWE7TUFBYixhQUFhO0VBQ2IsNEJBQVE7TUFBUixpQkFBUTtVQUFSLFFBQVE7QVIybUlkOztBUXZtSUU7RUFDRSxXQUFXO0FSMG1JZjs7QTZDN3NJRTtFQUNFLHVCdENLcUQ7RXNDSnJELGdCdkNRYTtFdUNQYixtQnRDR3FEO0VzQ0duRCxhQUFhO0E3QzJzSW5COztBNkN6c0lNO0VBRUUscUJBQXFCO0E3QzJzSTdCOztBR3BvSU07RTBDcEZKO0lBdUJNLHFCQUFxQjtFN0Nzc0kzQjtBQUNGOztBNkNqc0lFOztFQUVFLGNBQWM7RUFDZCwyQnRDMUJxRDtFc0MyQnJELGdCdkN2QmE7RXVDd0JiLGN2Q3BFVztBTnd3SWY7O0E2Q2xzSUk7O0VBQ0UsbUJ2Q25GYztBTnl4SXBCOztBNkM1cElFO0VBL0JBLDJCdEMxQ3VEO0VzQzJDdkQsbUI1Q25JcUI7RTRDb0lyQixjdkNoRmE7RXVDaUZiLGVBQWU7QTdDK3JJakI7O0E2Q25xSUU7RUFwQkEsMkJ0Q3JEdUQ7RXNDc0R2RCxjdkN0R21CO0V1Q3VHbkIsbUJBQW1CO0E3QzJySXJCOztBNkN6cklFO0VBQ0UsdUJBQXVCO0E3QzRySTNCOztBNkM3cUlFO0VBTkEsMkJ0Q25FdUQ7RXNDb0V2RCxnQkFBZ0I7RUFDaEIsY3ZDN0dhO0FOb3lJZjs7QTZDbHFJSTs7RUFFRSxxQkFBcUI7RUFDckIsb0JBQXNDO0VBQ3RDLGdCQUFnQjtBN0NxcUl0Qjs7QTZDbHFJSTs7RUFFRSxxQkFBcUI7RUFDckIsbUJBQXFDO0VBQ3JDLGdCQUFnQjtBN0NxcUl0Qjs7QThDMXNJRTtFQW5HQSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBRXJCLGlDeENaaUI7RXdD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OztBZ0VwdU1JO0VDcENGLHNCQXpDa0I7TUF5Q2xCLG1CQXpDa0I7VUF5Q2xCLHFCQXpDa0I7QWpFcXpNcEI7O0FnRXB1TUk7RUN4QkYsd0JBekRrQjtNQXlEbEIsb0JBekRrQjtBakV5ek1wQjs7QWdFNXVNSTtFQ3BDRix5QkF4Q2dCO01Bd0NoQixzQkF4Q2dCO1VBd0NoQixtQkF4Q2dCO0FqRTR6TWxCOztBZ0U1dU1JO0VDeEJGLDJCQXhEZ0I7TUF3RGhCLGtCQXhEZ0I7QWpFZzBNbEI7O0FnRXB2TUk7RUNwQ0YsMEJBdkNrQjtNQXVDbEIsdUJBdkNrQjtVQXVDbEIsb0JBdkNrQjtBakVtME1wQjs7QWdFcHZNSTtFQ3hCRiw0QkF2RGtCO01BdURsQixtQkF2RGtCO0FqRXUwTXBCOztBZ0Vsdk1FO0VDL0NBLHdCQW5Ea0I7TUFtRGxCLHFCQW5Ea0I7VUFtRGxCLHVCQW5Ea0I7RUFvRGxCLHlCQXhDZ0I7TUF3Q2hCLHNCQXhDZ0I7VUF3Q2hCLG1CQXhDZ0I7RUR3RmQsMEJBQXFCO01BQXJCLHFCQUFxQjtBaEVzdk16Qjs7QWdFaHZNTTtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0I7QWhFcXZNbEI7O0FnRXB2TU07RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCO0FoRXl2TWxCOztBZ0V4dk1NO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQjtBaEU2dk1sQjs7QWdFNXZNTTtFQ2hDSiw0QkQrQmdCO01DL0JoQixpQkQrQmdCO1VDL0JoQixRRCtCZ0I7QWhFaXdNbEI7O0FnRWh3TU07RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCO0FoRXF3TWxCOztBZ0Vwd01NO0VDaENKLDRCRCtCZ0I7TUMvQmhCLGlCRCtCZ0I7VUMvQmhCLFFEK0JnQjtBaEV5d01sQjs7QUdodE1NO0U2RHhEQTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFOHdNaEI7RWdFN3dNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFaXhNaEI7RWdFaHhNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFb3hNaEI7RWdFbnhNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFdXhNaEI7RWdFdHhNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFMHhNaEI7RWdFenhNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFNnhNaEI7QUFDRjs7QUdydU1NO0U2RHhEQTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFbXlNaEI7RWdFbHlNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFc3lNaEI7RWdFcnlNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFeXlNaEI7RWdFeHlNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFNHlNaEI7RWdFM3lNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFK3lNaEI7RWdFOXlNSTtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0I7RWhFa3pNaEI7QUFDRjs7QWdFLzRNRTtFQ1lBLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0FqRXU0TWY7O0FnRS80TUU7RUFDRSxtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztBaEVrNU1sQjs7QWdFLzRNRTtFQUNFLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0FoRWs1TWxCOztBZ0UvNE1FO0VBQ0UsbUJBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWM7QWhFazVNbEI7O0FnRTk0TUk7RUNzREYsOEJBbkVVO0VBbUVWLDZC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RDY1UnhCO0UyRjlvUkU7SUFvQmdCLGdCQUFnQjtJTHJQaEMsMEJBQW1DO0lBQ25DLG9CQVhtQztJS2lRbkIseUJBQXlCO0lBQ3pCLFcxRnpTRjtJMEYwU0Usa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsOEIxRnZURztJMEZ3VEgseUIxRnhURztFRHM3UnJCO0UyRjFwUkU7SUE4Qm9CLHlCMUZ6VEs7STBGMFRMLFcxRmpUTjtJMEZrVE0sMkIxRmxUTjtFRGk3UmhCO0UyRi9wUkU7SUFtQ29CLGMxRjlUSztJMEYrVEwsc0IxRnRUTjtJMEZ1VE0sMkIxRnZUTjtFRHM3UmhCO0UyRnBxUkU7SUEwQ29CLG1CMUZ0VUQ7RURtOFJyQjtFMkZ2cVJFO0lBNEN3QixtQjFGeFVMO0kwRnlVSyxXMUYvVFY7STBGZ1VVLDJCMUZoVVY7RUQ4N1JoQjtFMkY1cVJFO0lBaUR3QixXMUZuVVY7RURpOFJoQjtFMkYvcVJFO0lBcURvQixtQjFGalZEO0kwRmtWQywyQjFGeFVOO0VEcThSaEI7RTJGbnJSRTtJQXlEb0IsbUIxRnBWSztFRGk5UjNCO0UyRnRyUkU7SUEyRHdCLDZCMUY3VVY7STBGOFVVLGtCQUFrQjtFM0Y4blI1QztFMkYxclJFO0lBOEQ0Qix5QjFGMVZUO0kwRjJWUyxXMUZqVmQ7RURnOVJoQjtFMkY5clJFO0lBdUVRLGVBQWU7RTNGMG5SekI7RTJGanNSRTtJQXlFWSxnQkFBZ0I7SUwxUzVCLDBCQUFtQztJQUNuQyxjQVhtQztJS3NUdkIsVzFGNVZFO0kwRjZWRixrQkFBa0I7SUFDbEIsbUJBQW1CO0UzRjRuUmpDO0UyRnpzUkU7SUFpRmdCLFlBQVk7SUFDWixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CQUFlO1FBQWYsZUFBZTtFM0YyblJqQztFMkZodFJFO0lBdUZvQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtFM0Y0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K1NGO0lBOEJvQixZQUFZO0U3Ris4UzlCO0FBQ0YiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIEZPVU5EQVRJT04gVkFSSUFCTEVTICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7XG59XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTc1ZW0meHhsYXJnZT05MGVtXCI7XG59XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG5bdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG50ZXh0YXJlYVtyb3dzXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjYWNhY2E7XG59XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTtcbn1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxubGFiZWwubWlkZGxlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDA7XG59XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24gYSxcbi5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbi5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xufVxuXG4uZmllbGRzZXQgbGVnZW5kIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgcGFkZGluZzogMCAwLjE4NzVyZW07XG59XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6IHJnYiUyODEzOCwgMTM4LCAxMzglMjknPjwvcG9seWdvbj48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpO1xuICB9XG59XG5cbnNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbnNlbGVjdDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnNlbGVjdFttdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllY2VhO1xufVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5oMSBzbWFsbCwgLmgxIHNtYWxsLFxuaDIgc21hbGwsIC5oMiBzbWFsbCxcbmgzIHNtYWxsLCAuaDMgc21hbGwsXG5oNCBzbWFsbCwgLmg0IHNtYWxsLFxuaDUgc21hbGwsIC5oNSBzbWFsbCxcbmg2IHNtYWxsLCAuaDYgc21hbGwge1xuICBsaW5lLWhlaWdodDogMDtcbiAgY29sb3I6ICNjYWNhY2E7XG59XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gIH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gIH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIH1cbiAgaDUsIC5oNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG4gIGg2LCAuaDYge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjODQxNzFhO1xufVxuXG5hIGltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuaHIge1xuICBjbGVhcjogYm90aDtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuZGwgZHQge1xuICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTtcbn1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM4YThhOGE7XG59XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhO1xufVxuXG5jaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCUIFwiO1xufVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuY29kZSB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5wICsgLnN0YXQge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbn1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gIH1cbn1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC14IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jZWxsLmF1dG8ge1xuICBmbGV4OiAxIDEgMHB4O1xufVxuXG4uY2VsbC5zaHJpbmsge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmdyaWQteCA+IC5hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLWZ1bGwsIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7XG59XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclO1xufVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbn1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICB9XG59XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclO1xufVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTtcbn1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gIH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlO1xufVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7XG59XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTtcbn1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjYyNXJlbSk7XG59XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0pO1xufVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuNjI1cmVtKTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7XG59XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pO1xuICB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTtcbiAgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7XG4gIH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7XG4gIH1cbn1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbn1cblxuLmdyaWQteSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLmdyaWQteSA+IC5hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZ3JpZC15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgaGVpZ2h0OiA4LjMzMzMzJTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiAxNi42NjY2NyU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtMyB7XG4gIGhlaWdodDogMjUlO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTQge1xuICBoZWlnaHQ6IDMzLjMzMzMzJTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiA0MS42NjY2NyU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtNiB7XG4gIGhlaWdodDogNTAlO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTcge1xuICBoZWlnaHQ6IDU4LjMzMzMzJTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiA2Ni42NjY2NyU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtOSB7XG4gIGhlaWdodDogNzUlO1xufVxuXG4uZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgaGVpZ2h0OiA4My4zMzMzMyU7XG59XG5cbi5ncmlkLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IDkxLjY2NjY3JTtcbn1cblxuLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogMjUlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogNTAlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogNzUlO1xuICB9XG4gIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgaGVpZ2h0OiAyNSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgaGVpZ2h0OiA1MCU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTtcbiAgfVxuICAuZ3JpZC15ID4gLmxhcmdlLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclO1xuICB9XG4gIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgaGVpZ2h0OiA3NSU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7XG4gIH1cbiAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7XG59XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbn1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICB9XG59XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkge1xuICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuOTM3NXJlbTtcbiAgfVxufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICB9XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pO1xufVxuXG4uZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTtcbn1cblxuLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7XG59XG5cbi5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gIH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pO1xuICB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgfVxufVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7XG4gIH1cbn1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxNS40cHggMjdweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODIxNzFhO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi50aW55IHtcbiAgZm9udC1zaXplOiAwLjZyZW07XG59XG5cbi5idXR0b24uc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5idXR0b24uZGVmYXV0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uYnV0dG9uLmxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uYnV0dG9uLmV4cGFuZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uYnV0dG9uLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2ExNjE4O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTM2ZjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi5hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmhvbGxvdy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzRkMGUwZjtcbiAgY29sb3I6ICM0ZDBlMGY7XG59XG5cbi5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTFCMUU7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGQwZTBmO1xuICBjb2xvcjogIzRkMGUwZjtcbn1cblxuLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MUIxRTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyMTIxMjE7XG4gIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzExMTExMTtcbiAgY29sb3I6ICMxMTExMTE7XG59XG5cbi5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzIxMjEyMTtcbiAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgY29sb3I6ICMxNTc1Mzk7XG59XG5cbi5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gIGNvbG9yOiAjM2FkYjc2O1xufVxuXG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjOGIwMDtcbiAgY29sb3I6ICNjYzhiMDA7XG59XG5cbi5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NjQ2MDA7XG4gIGNvbG9yOiAjNjY0NjAwO1xufVxuXG4uYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M4YjAwO1xuICBjb2xvcjogI2NjOGIwMDtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjcyNTFhO1xuICBjb2xvcjogIzY3MjUxYTtcbn1cblxuLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gIGNvbG9yOiAjY2M0YjM3O1xufVxuXG4uYnV0dG9uLmNsZWFyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MUIxRTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGQwZTBmO1xuICBjb2xvcjogIzRkMGUwZjtcbn1cblxuLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MUIxRTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmhvdmVyLCAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLmJ1dHRvbi5jbGVhcjpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTkxQjFFO1xuICBjb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM0ZDBlMGY7XG4gIGNvbG9yOiAjNGQwZTBmO1xufVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTFCMUU7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnV0dG9uLmNsZWFyLnByaW1hcnksIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjEyMTIxO1xuICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTExMTExO1xuICBjb2xvcjogIzExMTExMTtcbn1cblxuLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyMTIxMjE7XG4gIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uYnV0dG9uLmNsZWFyLnNlY29uZGFyeSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgY29sb3I6ICMzYWRiNzY7XG59XG5cbi5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICBjb2xvcjogIzE1NzUzOTtcbn1cblxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICBjb2xvcjogIzNhZGI3Njtcbn1cblxuLmJ1dHRvbi5jbGVhci5zdWNjZXNzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uY2xlYXIud2FybmluZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYzhiMDA7XG4gIGNvbG9yOiAjY2M4YjAwO1xufVxuXG4uYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzY2NDYwMDtcbiAgY29sb3I6ICM2NjQ2MDA7XG59XG5cbi5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjOGIwMDtcbiAgY29sb3I6ICNjYzhiMDA7XG59XG5cbi5idXR0b24uY2xlYXIud2FybmluZywgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLmNsZWFyLmFsZXJ0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgY29sb3I6ICNjYzRiMzc7XG59XG5cbi5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gIGNvbG9yOiAjNjcyNTFhO1xufVxuXG4uYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLmJ1dHRvbi5jbGVhci5hbGVydCwgLmJ1dHRvbi5jbGVhci5hbGVydC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC40ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMjdweDtcbn1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM5OTFCMUU7XG59XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzk5MUIxRTtcbn1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzIxMjEyMTtcbn1cblxuLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzczo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIuc3VjY2Vzczo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2O1xufVxuXG4uYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy53YXJuaW5nOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNjYzhiMDA7XG59XG5cbi5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiAjY2M0YjM3O1xufVxuXG4uYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgdG9wOiAtMC4xZW07XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuYS5idXR0b246aG92ZXIsIGEuYnV0dG9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG5cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xufVxuXG4uYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5idXR0b24tZ3JvdXAuZGVmYXV0IC5idXR0b24ge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdhMTYxODtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzNmYwMDtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgZmxleDogMCAwIDEwMCU7XG59XG5cbi5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jbG9zZS1idXR0b24uc21hbGwge1xuICByaWdodDogMC42NnJlbTtcbiAgdG9wOiAwLjMzZW07XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5sYWJlbC5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5sYWJlbC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmxhYmVsLnN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmxhYmVsLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjY2M4YjAwO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmxhYmVsLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbn1cblxuLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbn1cblxuLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xufVxuXG4ucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xufVxuXG4ucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xufVxuXG4ucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbn1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG59XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG59XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgyMTcxYTtcbn1cblxuLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xufVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbn1cblxuLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICB0b3A6IDA7XG4gIHdpZHRoOiAwLjVyZW07XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uc3dpdGNoIHtcbiAgaGVpZ2h0OiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBjb250ZW50OiAnJztcbn1cblxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbn1cblxuaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDIuMjVyZW07XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlO1xufVxuXG5pbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07XG59XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTtcbn1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHRvcDogMC4yNXJlbTtcbiAgbGVmdDogMC4yNXJlbTtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbn1cblxuLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAxLjc1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgdG9wOiAwLjI1cmVtO1xuICBsZWZ0OiAwLjI1cmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xufVxuXG4uc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAycmVtO1xufVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB0b3A6IDAuMjVyZW07XG4gIGxlZnQ6IDAuMjVyZW07XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG59XG5cbi5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDIuNzVyZW07XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbnRoZWFkLFxudGJvZHksXG50Zm9vdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG50aGVhZCB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG50Zm9vdCB7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG50aGVhZCB0cixcbnRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbnRoZWFkIHRoLFxudGhlYWQgdGQsXG50Zm9vdCB0aCxcbnRmb290IHRkIHtcbiAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGJvZHkgdGgsXG50Ym9keSB0ZCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbn1cblxudGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbn1cblxudGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cblxudGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG59XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcbn1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xufVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjO1xufVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJhZGdlLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJhZGdlLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMyMTIxMjE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG4uYmFkZ2Uuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYmFkZ2Uud2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNjYzhiMDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uYmFkZ2UuYWxlcnQge1xuICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4uYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5icmVhZGNydW1icyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMC43NXJlbTtcbiAgb3BhY2l0eTogMTtcbiAgY29udGVudDogXCIvXCI7XG4gIGNvbG9yOiAjY2FjYWNhO1xufVxuXG4uYnJlYWRjcnVtYnMgYSB7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgY29sb3I6ICNjYWNhY2E7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhbGxvdXQucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGQ1ZDY7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICBjb2xvcjogIzBhMGEwYTtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2FsbG91dC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjBkMTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jYWxsb3V0LmFsZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5jYWxsb3V0LnNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbn1cblxuLmNhbGxvdXQubGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4uY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuXG4uY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWltYWdlIHtcbiAgbWluLWhlaWdodDogMXB4O1xufVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4ucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhZ2luYXRpb24gbGkge1xuICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLnBhZ2luYXRpb24gYSxcbi5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG4ucGFnaW5hdGlvbiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbn1cblxuLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgY29sb3I6ICNjYWNhY2E7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICMwYTBhMGE7XG59XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJztcbn1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJztcbn1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAwLjY0OTVyZW0pO1xuICB6LWluZGV4OiAxMjAwO1xuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGEwYTBhO1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi50b29sdGlwOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gIGJvdHRvbTogMTAwJTtcbn1cblxuLnRvb2x0aXAuYm90dG9tLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xufVxuXG4udG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gIGxlZnQ6IDEwMCU7XG59XG5cbi50b29sdGlwLmxlZnQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi50b29sdGlwLnJpZ2h0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAxMCU7XG59XG5cbi50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgYm90dG9tOiAxMCU7XG4gIHRvcDogYXV0bztcbn1cblxuLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgbGVmdDogMTAlO1xuICByaWdodDogYXV0bztcbn1cblxuLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMCU7XG59XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4uYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbn1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG46bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG59XG5cbi5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xufVxuXG4uYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMXJlbTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgY29udGVudDogJysnO1xufVxuXG4uaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMjAxMyc7XG59XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xufVxuXG46bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG59XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLm1lZGlhLW9iamVjdCBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bztcbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgZmxleDogMSAxIDBweDtcbn1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG59XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7XG59XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDEuMnJlbTtcbiAgbWFyZ2luOiAwLjFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbn1cblxuLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcbn1cblxuLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4ucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbi5mbGV4LXZpZGVvIGlmcmFtZSxcbi5mbGV4LXZpZGVvIG9iamVjdCxcbi5mbGV4LXZpZGVvIGVtYmVkLFxuLmZsZXgtdmlkZW8gdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbi5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4udGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cblxuLnRhYnM6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwO1xufVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG59XG5cbi50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNhNzFkMjE7XG59XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi50YWJzLXRpdGxlID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICBvdXRsaW5lOiAwO1xufVxuXG4udGFicy10aXRsZSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzg0MTcxYTtcbn1cblxuLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG59XG5cbmEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMTUzLCAyNywgMzAsIDAuNSk7XG59XG5cbmEudGh1bWJuYWlsIGltYWdlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ubWVudSBhLFxuLm1lbnUgLmJ1dHRvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cblxuLm1lbnUgaW5wdXQsXG4ubWVudSBzZWxlY3QsXG4ubWVudSBhLFxuLm1lbnUgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1lbnUgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4ubWVudS52ZXJ0aWNhbCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubWVudS5leHBhbmRlZCBsaSB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbi5tZW51LnNpbXBsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5tZW51LnNpbXBsZSBhIHtcbiAgcGFkZGluZzogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbiAgLm1lbnUubWVkaXVtLXNpbXBsZSBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAubWVudS5sYXJnZS12ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubWVudS5sYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgfVxuICAubWVudS5sYXJnZS1zaW1wbGUgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gIH1cbn1cblxuLm1lbnUubmVzdGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLm1lbnUuaWNvbnMgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubWVudS5pY29uLWxlZnQgbGkgYSB7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbi5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cblxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xufVxuXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1yaWdodCBsaSBhIGksXG4ubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG5cbi5tZW51Lmljb24tdG9wIGxpIGEge1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG5cbi5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuLm1lbnUuaWNvbi10b3AgbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG59XG5cbi5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBpLFxuLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5tZW51IC5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG5cbi5tZW51LmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLm1lbnUuYWxpZ24tcmlnaHQgbGkgLnN1Ym1lbnUgbGkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZW51LmFsaWduLXJpZ2h0LnZlcnRpY2FsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLm1lbnUgLm1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSAuc3VibWVudSBsaSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlO1xuICBjb250ZW50OiAnJztcbn1cblxuLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7XG59XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgYm94LXNoYWRvdzogMCA3cHggMCAjMGEwYTBhLCAwIDE0cHggMCAjMGEwYTBhO1xuICBjb250ZW50OiAnJztcbn1cblxuLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTtcbn1cblxuLmFjY29yZGlvbi1tZW51IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xufVxuXG4uYWNjb3JkaW9uLW1lbnUgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtM3B4O1xuICByaWdodDogMXJlbTtcbn1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTtcbn1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xufVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbn1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmlzLWRyaWxsZG93biBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG59XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xufVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG59XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xufVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG59XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5kcmlsbGRvd24gLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTkxQjFFO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xuICByaWdodDogMXJlbTtcbn1cblxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM5OTFCMUU7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtO1xufVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xufVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlO1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbn1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNXB4O1xufVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTkxQjFFO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzk5MUIxRSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTkxQjFFO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjOTkxQjFFIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbiAgfVxufVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTZweDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bztcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbn1cblxuLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICM5OTFCMUUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzk5MUIxRTtcbn1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1vdmVybGF5LWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgei1pbmRleDogMTI7XG59XG5cbi5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgei1pbmRleDogMTM7XG59XG5cbi5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpO1xufVxuXG4ub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBvdXRsaW5lOiAwO1xufVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICB6LWluZGV4OiAxMjtcbn1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICB6LWluZGV4OiAxMztcbn1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG59XG5cbi5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbn1cblxuLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG59XG5cbi5wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMTNweCAwIDIwcHggLTEzcHggcmdiYSgxMCwgMTAsIDEwLCAwLjI1KTtcbn1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tdG9wLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuXG4ucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xufVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbn1cblxuLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjUwcHgpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTtcbn1cblxuLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2gge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNTBweDtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjUwcHg7XG4gIH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDI1MHB4O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbn1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5yZXZlYWwge1xuICB6LWluZGV4OiAxMDA2O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICBvdXRsaW5lOiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG59XG5cbi5yZXZlYWwgLmNvbHVtbiB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cblxuLnJldmVhbC5jb2xsYXBzZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwudGlueSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwuc21hbGwge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLmxhcmdlIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gIH1cbn1cblxuLnJldmVhbC5mdWxsIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnJldmVhbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4ucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gIHRvcDogMDtcbn1cblxuLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbn1cblxuLnRpdGxlLWJhci1sZWZ0LFxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsZXg6IDEgMSAwcHg7XG59XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50b3AtYmFyLFxuLnRvcC1iYXIgdWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xufVxuXG4udG9wLWJhciBpbnB1dCB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4udG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC50b3AtYmFyIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2Uge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7XG59XG5cbi50b3AtYmFyLWxlZnQsXG4udG9wLWJhci1yaWdodCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTtcbn1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjtcbn1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMztcbn1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDtcbn1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTtcbn1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbiAgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xuICB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxO1xuICB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjtcbiAgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG4gIH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0O1xuICB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTtcbiAgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG4gIH1cbn1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvO1xufVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbn1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1vdmVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogb3ZlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLnRleHQtbGluZS10aHJvdWdoIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDtcbn1cblxuLmZvbnQtd2lkZSB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjI1cmVtO1xufVxuXG4uZm9udC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG51bC5saXN0LWRpc2Mge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDtcbn1cblxudWwubGlzdC1jaXJjbGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZSAhaW1wb3J0YW50O1xufVxuXG51bC5saXN0LXNxdWFyZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlICFpbXBvcnRhbnQ7XG59XG5cbm9sLmxpc3QtZGVjaW1hbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbCAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LWxvd2VyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYSAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LWxvd2VyLWxhdGluIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1sYXRpbiAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LWxvd2VyLXJvbWFuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbiAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LXVwcGVyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYSAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LXVwcGVyLWxhdGluIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1sYXRpbiAhaW1wb3J0YW50O1xufVxuXG5vbC5saXN0LXVwcGVyLXJvbWFuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbiAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZDphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTtcbn1cblxuLmJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2NhY2FjYTtcbn1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4uYXJyb3ctZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG59XG5cbi5hcnJvdy11cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG59XG5cbi5hcnJvdy1yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG59XG5cbi5hcnJvdy1sZWZ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cblxuLnNlcGFyYXRvci1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnNlcGFyYXRvci1jZW50ZXI6OmJlZm9yZSwgLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZmxleC1iYXNpczogMDtcbiAgb3JkZXI6IDE7XG59XG5cbi5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDNyZW07XG4gIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICM5OTFCMUU7XG4gIG1hcmdpbjogMXJlbSBhdXRvIDA7XG59XG5cbi5zZXBhcmF0b3ItbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnNlcGFyYXRvci1sZWZ0OjpiZWZvcmUsIC5zZXBhcmF0b3ItbGVmdDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTtcbn1cblxuLnNlcGFyYXRvci1sZWZ0OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAzcmVtO1xuICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjOTkxQjFFO1xuICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4uc2VwYXJhdG9yLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnNlcGFyYXRvci1yaWdodDo6YmVmb3JlLCAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxO1xufVxuXG4uc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogM3JlbTtcbiAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgIzk5MUIxRTtcbiAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbiAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy12aXNpYmxlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXgtdmlzaWJsZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktdmlzaWJsZSB7XG4gIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXgtaGlkZGVuIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5vdmVyZmxvdy15LWhpZGRlbiB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4ub3ZlcmZsb3cteC1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLm92ZXJmbG93LXktc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNwbGF5LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmRpc3BsYXktYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZGlzcGxheS10YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNwbGF5LXRhYmxlLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi5wb3NpdGlvbi1maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogOTc1O1xufVxuXG4ucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk3NTtcbn1cblxuLmJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ud2lkdGgtMjUge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi53aWR0aC01MCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cblxuLndpZHRoLTc1IHtcbiAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xufVxuXG4ud2lkdGgtMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmhlaWdodC0yNSB7XG4gIGhlaWdodDogMjUlICFpbXBvcnRhbnQ7XG59XG5cbi5oZWlnaHQtNTAge1xuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4uaGVpZ2h0LTc1IHtcbiAgaGVpZ2h0OiA3NSUgIWltcG9ydGFudDtcbn1cblxuLmhlaWdodC0xMDAge1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLm1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLm1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTAge1xuICBtYXJnaW46IDByZW07XG59XG5cbi5tYXJnaW4tdG9wLTAge1xuICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtMCB7XG4gIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxlZnQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tdmVydGljYWwtMCB7XG4gIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0wIHtcbiAgcGFkZGluZzogMHJlbTtcbn1cblxuLnBhZGRpbmctdG9wLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1yaWdodC0wIHtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20tMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxlZnQtMCB7XG4gIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDByZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi0xIHtcbiAgbWFyZ2luOiAxcmVtO1xufVxuXG4ubWFyZ2luLXRvcC0xIHtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LTEge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ib3R0b20tMSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1sZWZ0LTEge1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWhvcml6b250YWwtMSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXZlcnRpY2FsLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctMSB7XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi5wYWRkaW5nLXRvcC0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctYm90dG9tLTEge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1sZWZ0LTEge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctdmVydGljYWwtMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tMiB7XG4gIG1hcmdpbjogMnJlbTtcbn1cblxuLm1hcmdpbi10b3AtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1yaWdodC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tYm90dG9tLTIge1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTIge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi12ZXJ0aWNhbC0yIHtcbiAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTIge1xuICBwYWRkaW5nOiAycmVtO1xufVxuXG4ucGFkZGluZy10b3AtMiB7XG4gIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXJpZ2h0LTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS0yIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbGVmdC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLTMge1xuICBtYXJnaW46IDNyZW07XG59XG5cbi5tYXJnaW4tdG9wLTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tcmlnaHQtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS0zIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWxlZnQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tdmVydGljYWwtMyB7XG4gIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy0zIHtcbiAgcGFkZGluZzogM3JlbTtcbn1cblxuLnBhZGRpbmctdG9wLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1yaWdodC0zIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20tMyB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLWxlZnQtMyB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTMge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDtcbn1cblxuLyogIEZvbnQgSWNvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29tb29uLmVvdD9iNWE5c3JcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5lb3Q/YjVhOXNyI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29tb29uLnR0Zj9iNWE5c3JcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24ud29mZj9iNWE5c3JcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5zdmc/YjVhOXNyI2ljb21vb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1jaGV2ZXJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG59XG5cbi5pY29uLWNoZXZlcm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG5cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQyXCI7XG59XG5cbi5mdy1leHRyYWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDIwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG59XG5cbi5mdy1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctZXh0cmFib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50O1xufVxuXG4uZnctYmxhY2sge1xuICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG59XG5cbi50Yy1wcmltYXJ5IHtcbiAgY29sb3I6ICM5OTFCMUUgIWltcG9ydGFudDtcbn1cblxuLnRjLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi50Yy1kYXJrIHtcbiAgY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbn1cblxuLnRjLXdoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmJjLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi5iYy1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMyAhaW1wb3J0YW50O1xufVxuXG4udGQtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLmZ1bGwtaCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4udGV4dC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbn1cblxuLm9yZGVyLTEge1xuICBvcmRlcjogMSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMiB7XG4gIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0zIHtcbiAgb3JkZXI6IDMgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTQge1xuICBvcmRlcjogNCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItNSB7XG4gIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci02IHtcbiAgb3JkZXI6IDYgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTcge1xuICBvcmRlcjogNyAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItOCB7XG4gIG9yZGVyOiA4ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci05IHtcbiAgb3JkZXI6IDkgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTEwIHtcbiAgb3JkZXI6IDEwICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xMSB7XG4gIG9yZGVyOiAxMSAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTIge1xuICBvcmRlcjogMTIgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTEzIHtcbiAgb3JkZXI6IDEzICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xNCB7XG4gIG9yZGVyOiAxNCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTUge1xuICBvcmRlcjogMTUgIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTE2IHtcbiAgb3JkZXI6IDE2ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0xNyB7XG4gIG9yZGVyOiAxNyAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItMTgge1xuICBvcmRlcjogMTggIWltcG9ydGFudDtcbn1cblxuLm9yZGVyLTE5IHtcbiAgb3JkZXI6IDE5ICFpbXBvcnRhbnQ7XG59XG5cbi5vcmRlci0yMCB7XG4gIG9yZGVyOiAyMCAhaW1wb3J0YW50O1xufVxuXG4vKiBNb2JpbGUgdG8gRGVza3RvcFxuKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5vcmRlci1sZy0xIHtcbiAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0yIHtcbiAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0zIHtcbiAgICBvcmRlcjogMyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy01IHtcbiAgICBvcmRlcjogNSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy02IHtcbiAgICBvcmRlcjogNiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy03IHtcbiAgICBvcmRlcjogNyAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy04IHtcbiAgICBvcmRlcjogOCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy05IHtcbiAgICBvcmRlcjogOSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xMCB7XG4gICAgb3JkZXI6IDEwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTExIHtcbiAgICBvcmRlcjogMTEgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTIge1xuICAgIG9yZGVyOiAxMiAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xMyB7XG4gICAgb3JkZXI6IDEzICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTE0IHtcbiAgICBvcmRlcjogMTQgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTUge1xuICAgIG9yZGVyOiAxNSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xNiB7XG4gICAgb3JkZXI6IDE2ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTE3IHtcbiAgICBvcmRlcjogMTcgIWltcG9ydGFudDtcbiAgfVxuICAub3JkZXItbGctMTgge1xuICAgIG9yZGVyOiAxOCAhaW1wb3J0YW50O1xuICB9XG4gIC5vcmRlci1sZy0xOSB7XG4gICAgb3JkZXI6IDE5ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9yZGVyLWxnLTIwIHtcbiAgICBvcmRlcjogMjAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBEZXNrdG9wIHRvIE1vYmlsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AbWVkaWEgKG1heC13aWR0aDogMTUzNnB4KSB7XG4gIC50ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAudGV4dC1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkAtby1rZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRlckluIHtcbiAgZnJvbSB7XG4gICAgdG9wOiAtMTAwJTtcbiAgfVxuICB0byB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBoZWFkZXJJbiB7XG4gIGZyb20ge1xuICAgIHRvcDogLTEwMCU7XG4gIH1cbiAgdG8ge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG5ALW8ta2V5ZnJhbWVzIGhlYWRlckluIHtcbiAgZnJvbSB7XG4gICAgdG9wOiAtMTAwJTtcbiAgfVxuICB0byB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhZGVySW4ge1xuICBmcm9tIHtcbiAgICB0b3A6IC0xMDAlO1xuICB9XG4gIHRvIHtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuKiB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICMzMzM7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMjAuN3B4O1xufVxuXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogNzJweDtcbiAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5oMiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogNTlweDtcbiAgbGluZS1oZWlnaHQ6IDU3cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzhweDtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbmEge1xuICBjb2xvcjogIzIxMjEyMTtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbn1cblxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjNTQ1NDU0O1xufVxuXG5wIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBjb2xvcjogIzNDM0MzQztcbiAgbWFyZ2luLWJvdHRvbTogMjAuN3B4O1xufVxuXG5bY2xhc3NePVwid3AtY29udGFpbmVyLVwiXSB7XG4gIGdhcDogMWVtIDBlbSAhaW1wb3J0YW50O1xuICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmhhcy10ZXh0LWFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiA2NnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA3NHB4O1xuICB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTQuNHB4O1xuICB9XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMTYuMnB4O1xuICB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxMi44cHg7XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNC40cHg7XG4gIH1cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQxM3B4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgfVxufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9yZXF1aXJlZF9sZWdlbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfcmVxdWlyZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI0OSwgMjQ5LCAwLjcpO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDVweCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI0OSwgMjQ5LCAwLjcpO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvIDE1cHg7XG4gIG1heC13aWR0aDogNTIwcHg7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzIC5nZm9ybV9zdWJtaXNzaW9uX2Vycm9yIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0NDQ0O1xufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMge1xuICBncmlkLXJvdy1nYXA6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGRfbGFiZWwge1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjc3Nzg7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ndGV4dCddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3Bhc3N3b3JkJ10sXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZSddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGV0aW1lJ10sXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdtb250aCddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3dlZWsnXSxcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdlbWFpbCddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J251bWJlciddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3NlYXJjaCddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3RlbCddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3RpbWUnXSxcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd1cmwnXSxcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdjb2xvciddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0IHtcbiAgcGFkZGluZzogMTdweCAxOHB4O1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjc3Nzg7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0ZXh0J106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ncGFzc3dvcmQnXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdkYXRlJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZXRpbWUnXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J21vbnRoJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nd2VlayddOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2VtYWlsJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ndGVsJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ndGltZSddOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3VybCddOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2NvbG9yJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBzZWxlY3Q6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ndGV4dCddOjotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3Bhc3N3b3JkJ106Oi1tb3otcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZSddOjotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGV0aW1lJ106Oi1tb3otcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTo6LW1vei1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdtb250aCddOjotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3dlZWsnXTo6LW1vei1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdlbWFpbCddOjotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J251bWJlciddOjotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3NlYXJjaCddOjotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3RlbCddOjotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3RpbWUnXTo6LW1vei1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd1cmwnXTo6LW1vei1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdjb2xvciddOjotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgLyogRmlyZWZveCAxOSsgKi9cbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0ZXh0J106LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3Bhc3N3b3JkJ106LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGUnXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZXRpbWUnXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nbW9udGgnXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nd2VlayddOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdlbWFpbCddOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdudW1iZXInXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nc2VhcmNoJ106LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3RlbCddOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0aW1lJ106LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3VybCddOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdjb2xvciddOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBJRSAxMCsgKi9cbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0ZXh0J106LW1vei1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdwYXNzd29yZCddOi1tb3otcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZSddOi1tb3otcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZXRpbWUnXTotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106LW1vei1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdtb250aCddOi1tb3otcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nd2VlayddOi1tb3otcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZW1haWwnXTotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J251bWJlciddOi1tb3otcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nc2VhcmNoJ106LW1vei1wbGFjZWhvbGRlcixcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0ZWwnXTotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3RpbWUnXTotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3VybCddOi1tb3otcGxhY2Vob2xkZXIsXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nY29sb3InXTotbW96LXBsYWNlaG9sZGVyLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogIzNDM0MzQztcbiAgb3BhY2l0eTogMTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0ZXh0J10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdwYXNzd29yZCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZSddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZGF0ZXRpbWUnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdtb250aCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nd2VlayddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nZW1haWwnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J251bWJlciddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nc2VhcmNoJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0ZWwnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3RpbWUnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3VybCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nY29sb3InXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0IHtcbiAgICBsaW5lLWhlaWdodDogMS4yNzc3OCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHRleHRhcmVhIHtcbiAgcGFkZGluZzogMTdweCAxOHB4O1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjc3Nzg7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgcmVzaXplOiBub25lO1xufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgLyogRmlyZWZveCAxOSsgKi9cbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIC8qIElFIDEwKyAqL1xuICBjb2xvcjogIzNDM0MzQztcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgdGV4dGFyZWE6LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIEZpcmVmb3ggMTgtICovXG4gIGNvbG9yOiAjM0MzQzNDO1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCB0ZXh0YXJlYS5tZWRpdW0ge1xuICBtYXgtaGVpZ2h0OiAxMjBweDtcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1nL2ljbi1zZWxlY3QtY2hldnJvbi1kb3duLnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDk4JSAyNXB4O1xufVxuXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfZXJyb3IgW3R5cGU9J3RleHQnXSxcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZF9lcnJvciBbdHlwZT0ncGFzc3dvcmQnXSxcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZF9lcnJvciBbdHlwZT0nZGF0ZSddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIFt0eXBlPSdkYXRldGltZSddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIFt0eXBlPSdtb250aCddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIFt0eXBlPSd3ZWVrJ10sXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfZXJyb3IgW3R5cGU9J2VtYWlsJ10sXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfZXJyb3IgW3R5cGU9J251bWJlciddLFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIFt0eXBlPSdzZWFyY2gnXSxcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZF9lcnJvciBbdHlwZT0ndGVsJ10sXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfZXJyb3IgW3R5cGU9J3RpbWUnXSxcbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZF9lcnJvciBbdHlwZT0ndXJsJ10sXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfZXJyb3IgW3R5cGU9J2NvbG9yJ10sXG4uZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfZXJyb3Igc2VsZWN0LFxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4td2lkdGg6IDMwNXB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTclIDI1cHg7XG4gICAgcGFkZGluZzogMTVweCAzMHB4IDE1cHggMTNweDtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zNzU7XG4gIH1cbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0IG9wdGlvbiB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ndGV4dCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ncGFzc3dvcmQnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGUnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGV0aW1lJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nbW9udGgnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3dlZWsnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2VtYWlsJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdudW1iZXInXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3NlYXJjaCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ndGVsJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0aW1lJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd1cmwnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2NvbG9yJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHRleHRhcmVhIHtcbiAgICBwYWRkaW5nOiAxMnB4IDEzcHg7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk3JSAyNXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMzBweCAxNXB4IDEzcHg7XG4gIH1cbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgc2VsZWN0IG9wdGlvbiB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ndGV4dCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ncGFzc3dvcmQnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGUnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2RhdGV0aW1lJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0nbW9udGgnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3dlZWsnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2VtYWlsJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSdudW1iZXInXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J3NlYXJjaCddLFxuICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9maWVsZHMgLmdmaWVsZCBbdHlwZT0ndGVsJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd0aW1lJ10sXG4gIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIFt0eXBlPSd1cmwnXSxcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgW3R5cGU9J2NvbG9yJ10ge1xuICAgIHBhZGRpbmc6IDE1cHggMTNweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDEzcHgpIHtcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAyNjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyMXB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjE5MDQ4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDE4cHggMzBweCAxNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zZW07XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMDtcbn1cblxuLmJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZSAwcztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E2MDcwQztcbiAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmJ1dHRvbi5kYXJrOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xufVxuXG4uYnV0dG9uLmRhcms6aG92ZXI6OmJlZm9yZSwgLmJ1dHRvbi5kYXJrOmZvY3VzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0MzQzNDO1xufVxuXG4uYnV0dG9uLmludmVyc2Uge1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmJ1dHRvbi5pbnZlcnNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4uYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnV0dG9uOmhvdmVyOjpiZWZvcmUsIC5idXR0b246Zm9jdXM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzQzNDM0M7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTZweCAyNXB4IDExcHggMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDEzcHgpIHtcbiAgLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgfVxufVxuXG5pbnB1dC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTkxQjFFO1xuICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTtcbn1cblxuaW5wdXQuYnV0dG9uOmhvdmVyLCBpbnB1dC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0MzQzNDO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDEzcHgpIHtcbiAgaW5wdXQuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yNWVtO1xuICB9XG59XG5cbi5vZmZlci13cmFwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgcGFkZGluZzogMTdweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNDtcbiAgcGFkZGluZzogMjVweCAwIDM1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC5oZWFkZXItd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1pbi1oZWlnaHQ6IDI2MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC5oZWFkZXItd3JhcDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTFweDtcbiAgbGVmdDogMTBweDtcbiAgd2lkdGg6IDk3JTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgd2lkdGg9Jzk4JTI1JyBoZWlnaHQ9JzEwMCUyNScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3JlY3Qgd2lkdGg9Jzk4JTI1JyBoZWlnaHQ9JzEwMCUyNScgZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPSc0JyBzdHJva2UtZGFzaGFycmF5PScxLjUlMmM4JyBzdHJva2UtZGFzaG9mZnNldD0nMCcgc3Ryb2tlLWxpbmVjYXA9J2J1dHQnLyUzZSUzYy9zdmclM2VcIik7XG59XG5cbi5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgaDIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIGgyIGxhYmVsLCAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIGgyIHNwYW4ge1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTEwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDAuOTA5MDk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIGgyIHNwYW4ge1xuICBmb250LXNpemU6IDYwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDAuOTU7XG59XG5cbi5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgaDMge1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogNTlweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMC45NjYxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuXG4ub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgbWluLWhlaWdodDogMzIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIC50ZXh0LXRvcC13cmFwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zNjM2NDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCBwLnRleHQtbGFyZ2UsXG4ub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgcCBzdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjY2Njc7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCBwLnRleHQtbGFyZ2UucGFkZGVkLFxuLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHAgc3Ryb25nLnBhZGRlZCB7XG4gIG1heC13aWR0aDogMzU0cHg7XG4gIG1hcmdpbjogMCBhdXRvIDIzcHg7XG59XG5cbi5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCBwLnRleHQtbWluaSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogI0ZGQjBCMjtcbn1cblxuLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCAudGV4dC1ib3R0b20td3JhcCBhLmJ1dHRvbiB7XG4gIG1heC13aWR0aDogOTAlO1xufVxuXG4ub2ZmZXItd3JhcCAuYnV0dG9uIHtcbiAgei1pbmRleDogMjtcbiAgbWF4LXdpZHRoOiAyNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5vZmZlci13cmFwLndoaXRlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cblxuLm9mZmVyLXdyYXAud2hpdGUgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5vZmZlci13cmFwLndoaXRlIC5vZmZlci1pdGVtLXdyYXAge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ub2ZmZXItd3JhcC53aGl0ZSAub2ZmZXItaXRlbS13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAwcHggMzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm9mZmVyLXdyYXAud2hpdGUgLm9mZmVyLWl0ZW0td3JhcCAuaGVhZGVyLXdyYXAge1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICBtaW4taGVpZ2h0OiAyNjBweDtcbn1cblxuLm9mZmVyLXdyYXAud2hpdGUgLm9mZmVyLWl0ZW0td3JhcCBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTEwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDAuOTA5MDk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ub2ZmZXItd3JhcC53aGl0ZSAub2ZmZXItaXRlbS13cmFwIGgzIHtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5vZmZlci13cmFwLndoaXRlIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCB7XG4gIG1pbi1oZWlnaHQ6IDMwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5vZmZlci13cmFwLndoaXRlIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ub2ZmZXItd3JhcC53aGl0ZSAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgLnRleHQtdG9wLXdyYXAge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4ub2ZmZXItd3JhcC53aGl0ZSAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgcCB7XG4gIGNvbG9yOiAjM0MzQzNDO1xufVxuXG4ub2ZmZXItd3JhcC53aGl0ZSAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgcC50ZXh0LWxhcmdlIHtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbi5vZmZlci13cmFwLndoaXRlIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCAudGV4dC1ib3R0b20td3JhcCBhLmJ1dHRvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIGgyIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDkwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMC44ODg4OTtcbiAgfVxuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIGgyIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogNDhweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzU7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCBoMyB7XG4gICAgZm9udC1zaXplOiA0MnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQyODY7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAuaGVhZGVyLXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMjQwcHg7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHtcbiAgICBtaW4taGVpZ2h0OiAyODBweDtcbiAgfVxuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ0NDQ7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHAudGV4dC1sYXJnZSxcbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHAgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4yMzA3NztcbiAgfVxuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgcC50ZXh0LW1pbmkge1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3MTQzO1xuICB9XG4gIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCAudGV4dC1ib3R0b20td3JhcCBhLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5vZmZlci13cmFwLndoaXRlIC5vZmZlci1pdGVtLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMHB4IDI1cHg7XG4gIH1cbiAgLm9mZmVyLXdyYXAud2hpdGUgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9mZmVyLXdyYXAud2hpdGUgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAub2ZmZXItd3JhcC53aGl0ZSAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgLnRleHQtdG9wLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLm9mZmVyLXdyYXAud2hpdGUgLm9mZmVyLWl0ZW0td3JhcCBoMiB7XG4gICAgZm9udC1zaXplOiA5MHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDAuODg4ODk7XG4gIH1cbiAgLm9mZmVyLXdyYXAud2hpdGUgLm9mZmVyLWl0ZW0td3JhcCAuaGVhZGVyLXdyYXAge1xuICAgIG1pbi1oZWlnaHQ6IDIzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC5oZWFkZXItd3JhcCB7XG4gICAgbWluLWhlaWdodDogMjYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAub2ZmZXItd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLmhlYWRlci13cmFwIHtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgfVxuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAge1xuICAgIG1pbi1oZWlnaHQ6IDI0MHB4O1xuICB9XG4gIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCAudGV4dC10b3Atd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgLnRleHQtYm90dG9tLXdyYXAgYS5idXR0b24ge1xuICAgIG1heC13aWR0aDogODAlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIGgyIHtcbiAgICBmb250LXNpemU6IDgwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMC44NzU7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCBoMyB7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHAgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMztcbiAgfVxuICAub2ZmZXItd3JhcC53aGl0ZSAub2ZmZXItaXRlbS13cmFwIGgyIHtcbiAgICBmb250LXNpemU6IDgwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMC44NzU7XG4gIH1cbiAgLm9mZmVyLXdyYXAud2hpdGUgLm9mZmVyLWl0ZW0td3JhcCBoMyB7XG4gICAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cbiAgLm9mZmVyLXdyYXAud2hpdGUgLnRleHQtd3JhcCB7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgfVxuICAub2ZmZXItd3JhcC53aGl0ZSAudGV4dC13cmFwIHAgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMztcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDEzcHgpIHtcbiAgLm9mZmVyLXdyYXAge1xuICAgIHBhZGRpbmc6IDEzcHg7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCBoMiBsYWJlbCB7XG4gICAgZm9udC1zaXplOiA5MHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDAuODg4ODk7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHAudGV4dC1taW5pIHtcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS42MTUzODtcbiAgfVxuICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAgLnRleHQtYm90dG9tLXdyYXAgYS5idXR0b24ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAub2ZmZXItd3JhcCAudGV4dC1ib3R0b20td3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm9mZmVyLXdyYXAgLmJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiA5NSU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmljbi1waG9uZS1yZWQge1xuICBjb250ZW50OiB1cmwoXCIuLi9pbWcvaWNuLXBob25lLXJlZC5zdmdcIik7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi8qIFRydXN0aW5kZXggT3ZlcndyaXRlcyovXG4udGktd2lkZ2V0LnRpLWdvb2cgLnRpLXJldmlldy1jb250ZW50IDpiZWZvcmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmdvb2dsZS1yZXZpZXdzIC50aS13aWRnZXQudGktZ29vZyAudGktcmV2aWV3LWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5nb29nbGUtcmV2aWV3cyAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLXJldmlldy1jb250ZW50OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5nb29nbGUtcmV2aWV3cyAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLXJldmlldy1jb250ZW50OjphZnRlciB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHRvcDogLTUwcHggIWltcG9ydGFudDtcbn1cblxuLmdvb2dsZS1yZXZpZXdzIC50aS13aWRnZXQudGktZ29vZyAudGktY29udHJvbHMtZG90cyB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xufVxuXG4uZ29vZ2xlLXJldmlld3MgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9scy1kb3RzIC5kb3Qge1xuICB3aWR0aDogNHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogNHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDRweCAhaW1wb3J0YW50O1xufVxuXG4uZ29vZ2xlLXJldmlld3MgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9scy1kb3RzIC5kb3QuYWN0aXZlIHtcbiAgd2lkdGg6IDEwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xufVxuXG4uZ29vZ2xlLXJldmlld3MgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0b3A6IDQwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uZ29vZ2xlLXJldmlld3MgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9scyAudGktbmV4dCB7XG4gIHJpZ2h0OiAtMjBweCAhaW1wb3J0YW50O1xufVxuXG4uZ29vZ2xlLXJldmlld3MgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9scyAudGktbmV4dDpob3ZlciB7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZ29vZ2xlLXJldmlld3MgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9scyAudGktbmV4dDpiZWZvcmUsIC5nb29nbGUtcmV2aWV3cyAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLWNvbnRyb2xzIC50aS1uZXh0OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzVGNUY1RiAhaW1wb3J0YW50O1xufVxuXG4uZ29vZ2xlLXJldmlld3MgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9scyAudGktcHJldiB7XG4gIGxlZnQ6IC0yMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5nb29nbGUtcmV2aWV3cyAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLWNvbnRyb2xzIC50aS1wcmV2OmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5nb29nbGUtcmV2aWV3cyAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLWNvbnRyb2xzIC50aS1wcmV2OmJlZm9yZSwgLmdvb2dsZS1yZXZpZXdzIC50aS13aWRnZXQudGktZ29vZyAudGktY29udHJvbHMgLnRpLXByZXY6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjNUY1RjVGICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmdvb2dsZS1yZXZpZXdzIC50aS13aWRnZXQudGktZ29vZyAudGktY29udHJvbHMgLnRpLW5leHQge1xuICAgIHJpZ2h0OiAtMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5nb29nbGUtcmV2aWV3cyAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLWNvbnRyb2xzIC50aS1wcmV2IHtcbiAgICBsZWZ0OiAtMTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmdvb2dsZS1yZXZpZXdzIC50aS13aWRnZXQudGktZ29vZyAudGktY29udHJvbHMgLnRpLW5leHQge1xuICAgIHJpZ2h0OiAtMTVweCAhaW1wb3J0YW50O1xuICB9XG4gIC5nb29nbGUtcmV2aWV3cyAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLWNvbnRyb2xzIC50aS1wcmV2IHtcbiAgICBsZWZ0OiAtMTVweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuZ29vZ2xlLXJldmlld3MgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9scyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmdvb2dsZS1yZXZpZXdzIC50aS13aWRnZXQudGktZ29vZyAudGktY29udHJvbHMgLnRpLW5leHQge1xuICAgIHJpZ2h0OiAtMTBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5nb29nbGUtcmV2aWV3cyAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLWNvbnRyb2xzIC50aS1wcmV2IHtcbiAgICBsZWZ0OiAtMTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5pY24tY2hldnJvbi1yaWdodCB7XG4gIGNvbnRlbnQ6IHVybChcIi4uL2ltZy9pY24tY2hldnJvbi1yaWdodC5zdmdcIik7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG59XG5cbi5pY24tY2hldnJvbi1sZWZ0IHtcbiAgY29udGVudDogdXJsKFwiLi4vaW1nL2ljbi1jaGV2cm9uLXJpZ2h0LnN2Z1wiKTtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmltYWdlLXdyYXAtYmctbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pbWctYmctbG9nby5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgcGFkZGluZzogNTBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmltYWdlLXdyYXAtYmctbG9nbyBpbWcge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi8qIENVU1RPTSBDU1MgKi9cbi5iZy1ncmF5IHtcbiAgYmFja2dyb3VuZDogIzMzMztcbn1cblxuLmJnLWdyYXkgaDIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJnLXJlZCB7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG59XG5cbi5iZy1yZWQgaDIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJnLXRleHR1cmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaW1nLWJnLW1vZGVsLWV4Y2VsbGVuY2UuanBnXCIpIGNlbnRlciBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJnLXRleHR1cmU6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgd2hpdGUgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMzAlLCByZ2JhKDAsIDAsIDAsIDApIDcwJSwgd2hpdGUgMTAwJSk7XG59XG5cbi5oZWFkZXIge1xuICB6LWluZGV4OiA1O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTtcbiAgaGVpZ2h0OiAxMjJweCAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyLmhlYWRlci1zdGlja3kge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5oZWFkZXIgLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDI1cHggMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyIC5zdGlja3kuaG9tZS1zdGlja3kge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmhlYWRlciAuc3RpY2t5LmhvbWUtc3RpY2t5LmlzLXN0dWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmhlYWRlciAubWVudWJhciB7XG4gIG1heC13aWR0aDogMTkyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmhlYWRlciAubWVudWJhciAubWVudWJhci13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uaGVhZGVyIC5tZW51YmFyIC5tZW51LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWJhc2lzOiA4MCU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLmxvZ28ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXgtd2lkdGg6IDI5MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhlYWRlciAubWVudWJhciAubG9nbyBwIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuODU3MTQ7XG4gIGNvbG9yOiAjZWFlYWVhO1xuICBtYXJnaW4tbGVmdDogNzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmhlYWRlciAubWVudWJhciAubWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBmbGV4LWJhc2lzOiA4MyU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMHB4IDQwcHggMCAwO1xuICBwYWRkaW5nOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaGVhZGVyIC5tZW51YmFyIC5tZW51IGxpIGEge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMTg3NTtcbiAgcGFkZGluZzogMjVweCAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbn1cblxuLmhlYWRlciAubWVudWJhciAubWVudSBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY24tY2hldnJvbi1kb3duLnN2ZykgY2VudGVyIG5vLXJlcGVhdDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogOHB4O1xuICByaWdodDogNXB4O1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwuc3VibWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwuc3VibWVudSBsaSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzk5MUIxRTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgdWwuc3VibWVudSBsaSBhOmhvdmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTYwNzBDO1xufVxuXG4uaGVhZGVyIC5tZW51YmFyIC5tZW51IGxpLmlzLWFjdGl2ZSB1bC5zdWJtZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgbGkgdWwuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIG1pbi13aWR0aDogMjMwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDE1cHggMTVweDtcbn1cblxuLmhlYWRlciAubWVudWJhciAubWVudSBsaSB1bC5pcy1kcm9wZG93bi1zdWJtZW51IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgbGkgdWwuaXMtZHJvcGRvd24tc3VibWVudSBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE3cHggMzBweDtcbn1cblxuLmhlYWRlciAubWVudWJhciAubWVudSBsaSB1bC5pcy1kcm9wZG93bi1zdWJtZW51IGxpOmxhc3QtY2hpbGQgYSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAxNXB4IDE1cHg7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgPiBsaTpsYXN0LWNoaWxkIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMTFweCAzNXB4IDdweDtcbiAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjIzZW07XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgPiBsaTpsYXN0LWNoaWxkIGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2UgMHM7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIHRyYW5zZm9ybTogc2tldygtMTJkZWcpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgPiBsaTpsYXN0LWNoaWxkIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5oZWFkZXIgLm1lbnViYXIgLm1lbnUgPiBsaTpsYXN0LWNoaWxkIGE6aG92ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzQzNDM0M7XG59XG5cbi5oZWFkZXIgLnBob25lLXdyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5oZWFkZXIgLnBob25lLXdyYXAgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjIyMjIyO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uaGVhZGVyIC5waG9uZS13cmFwIGEge1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMC45NTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgLmhlYWRlciAubWVudWJhciAubG9nbyB7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgfVxuICAuaGVhZGVyIC5tZW51YmFyIC5tZW51IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuaGVhZGVyIHtcbiAgICBoZWlnaHQ6IDg4cHggIWltcG9ydGFudDtcbiAgfVxuICAuaGVhZGVyIC5tZW51YmFyIC5sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDE5MHB4O1xuICB9XG4gIC5oZWFkZXIgLm1lbnViYXIgLm1lbnUge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgfVxuICAuaGVhZGVyIC5tZW51YmFyIC5tZW51IGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZzogMTJweCA4cHg7XG4gIH1cbiAgLmhlYWRlciAubWVudWJhciAubWVudSBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLmhlYWRlciAubWVudWJhciAubWVudSA+IGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgcGFkZGluZzogMTNweCAxMnB4IDhweDtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS40NDQ0NDtcbiAgfVxuICAuaGVhZGVyIC5waG9uZS13cmFwIHAsIC5oZWFkZXIgLnBob25lLXdyYXAgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuICAuaGVhZGVyIC5zdGlja3kge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5oZWFkZXIgLm1lbnViYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLmhlYWRlciAubWVudWJhciAubWVudSBsaTpsYXN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zaG93LW1lbnUgLm1vYm1lbnUsXG4gIC5zaG93LW1lbnUgLmhhbWJ1cmdlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuc2hvdy1tZW51IC5tb2JtZW51OmJlZm9yZSwgLnNob3ctbWVudSAubW9ibWVudTphZnRlcixcbiAgLnNob3ctbWVudSAuaGFtYnVyZ2VyOmJlZm9yZSxcbiAgLnNob3ctbWVudSAuaGFtYnVyZ2VyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjOTkxQjFFO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNnB4O1xuICB9XG4gIC5zaG93LW1lbnUgLm1vYm1lbnU6YmVmb3JlLFxuICAuc2hvdy1tZW51IC5oYW1idXJnZXI6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG4gIC5zaG93LW1lbnUgLm1vYm1lbnU6YWZ0ZXIsXG4gIC5zaG93LW1lbnUgLmhhbWJ1cmdlcjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG4gIC5zaG93LW1lbnUgI21vYm5hdiB7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIC5zaG93LW1lbnUgLmhlYWRlciAuc3RpY2t5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG4gICNtb2JuYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDg4cHg7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIH1cbiAgI21vYm5hdiB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYWVhZWE7XG4gIH1cbiAgI21vYm5hdiB1bCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VhZWFlYTtcbiAgfVxuICAjbW9ibmF2IHVsIGxpIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU3MTQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxN3B4IDIxcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM5OTFCMUU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgfVxuICAjbW9ibmF2IHVsIGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBNjA3MEM7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjZmZmO1xuICB9XG4gICNtb2JuYXYgdWwgbGkgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNBNjA3MEM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNmZmY7XG4gIH1cbiAgI21vYm5hdiB1bCBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgYSB7XG4gICAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgfVxuICAjbW9ibmF2IHVsIGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCBhLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2ZmZjtcbiAgfVxuICAjbW9ibmF2IHVsIGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAjbW9ibmF2IHVsIGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gfiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2ZmZjtcbiAgfVxuICAjbW9ibmF2IHVsIGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB1bC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgYmFja2dyb3VuZDogI0E2MDcwQztcbiAgfVxuICAjbW9ibmF2IHVsIGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB1bC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG4gICNtb2JuYXYgdWwgbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHVsLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgI21vYm5hdiAuc29jaWFsLW1lZGlhLXdyYXAge1xuICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgfVxuICAjbW9ibmF2IC5zb2NpYWwtbWVkaWEtd3JhcCBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAjbW9ibmF2IC5zb2NpYWwtbWVkaWEtd3JhcCB1bC5zb2NpYWwtbWVkaWEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gICNtb2JuYXYgLnNvY2lhbC1tZWRpYS13cmFwIHVsLnNvY2lhbC1tZWRpYSBsaSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG4gICNtb2JuYXYgLnNvY2lhbC1tZWRpYS13cmFwIHVsLnNvY2lhbC1tZWRpYSBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgI21vYm5hdiAuc29jaWFsLW1lZGlhLXdyYXAgdWwuc29jaWFsLW1lZGlhIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAjbW9ibmF2IC5zb2NpYWwtbWVkaWEtd3JhcCB1bC5zb2NpYWwtbWVkaWEgbGkgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAjbW9ibmF2IC5zb2NpYWwtbWVkaWEtd3JhcCB1bC5zb2NpYWwtbWVkaWEgbGkgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgI21vYm5hdiAuc3VibWVudS10b2dnbGUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTNweDtcbiAgfVxuICAjbW9ibmF2IC5zdWJtZW51LXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljbi1jaGV2cm9uLXJpZ2h0LXdoaXRlLnN2ZykgY2VudGVyLzIwJSBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1M3B4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICAjbW9ibmF2IC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0E2MDcwQztcbiAgfVxuICAjbW9ibmF2IC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG4gICNtb2JuYXYgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdICsgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAubW9ibWVudS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICAubW9ibWVudSB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMXB4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzk5MUIxRTtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzk5MUIxRTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5tb2JtZW51OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzk5MUIxRTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDRweDtcbiAgfVxuICAuaGFtYnVyZ2VyIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIxcHg7XG4gICAgaGVpZ2h0OiAxN3B4O1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjOTkxQjFFO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjOTkxQjFFO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAuaGFtYnVyZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzk5MUIxRTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDRweDtcbiAgfVxuICAubW9iaWxlLXJpZ2h0LXBhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1vYmlsZS1yaWdodC1wYW5lbCAucGhvbmUtd3JhcCBhIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbiAgLm1vYmlsZS1yaWdodC1wYW5lbCAucGhvbmUtd3JhcCBhIGkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5tb2JpbGUtcmlnaHQtcGFuZWwge1xuICAgIG1heC13aWR0aDogMTY1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQxM3B4KSB7XG4gIC5tb2JpbGUtcmlnaHQtcGFuZWwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLm1vYmlsZS1yaWdodC1wYW5lbCAucGhvbmUtd3JhcCBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxuICAubW9iaWxlLXJpZ2h0LXBhbmVsIC5waG9uZS13cmFwIGEgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubW9iaWxlLXJpZ2h0LXBhbmVsIC5waG9uZS13cmFwIGEgaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG5cbi5mb290ZXIgLmNvcHlyaWdodC13cmFwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuXG4uZm9vdGVyIC5jb3B5cmlnaHQtd3JhcCBwIHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAwLjg3NTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mb290ZXIgLmNvcHlyaWdodC13cmFwIHAgYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZm9vdGVyIC5jb3B5cmlnaHQtd3JhcCAuZ3JpZC13cmFwIHtcbiAgbWF4LXdpZHRoOiA0NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5mb290ZXIgLmNvcHlyaWdodC13cmFwIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAwLjg3NTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvb3RlciAudG9wLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEzMHB4IDAgNTBweDtcbn1cblxuLmZvb3RlciAudG9wLWZvb3RlciAuZ3JpZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5mb290ZXIgLnRvcC1mb290ZXIgLmdyaWQtY29udGFpbmVyID4gZGl2IHtcbiAgZmxleC1iYXNpczogNDUlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5mb290ZXIgLnRvcC1mb290ZXIgLmdyaWQtY29udGFpbmVyID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgZmxleC1iYXNpczogNTMlO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG59XG5cbi5mb290ZXIgLnRvcC1mb290ZXIgLmxvZ28ge1xuICB3aWR0aDogNjAlO1xufVxuXG4uZm9vdGVyIC50b3AtZm9vdGVyIC5sb2dvIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiVGVrb1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDQwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6ICM5OTFCMUU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDhweDtcbn1cblxuLmZvb3RlciAudG9wLWZvb3RlciAubG9nbyBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXgtd2lkdGg6IDMzMHB4O1xufVxuXG4uZm9vdGVyIC50b3AtZm9vdGVyIGxhYmVsIHtcbiAgZm9udC1zaXplOiAyMXB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjgwOTUyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5mb290ZXIgLnRvcC1mb290ZXIgLmxvY2FsLW9mZmljZSB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuLmZvb3RlciAudG9wLWZvb3RlciAubG9jYWwtb2ZmaWNlIHAge1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZm9vdGVyIC50b3AtZm9vdGVyIC5sb2NhbC1vZmZpY2UgYSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzk5MUIxRTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmZvb3RlciAudG9wLWZvb3RlciAucXVpY2stbGlua3Mge1xuICBmbGV4LWJhc2lzOiA2MCU7XG59XG5cbi5mb290ZXIgLnRvcC1mb290ZXIgLnF1aWNrLWxpbmtzIC5tZW51IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZvb3RlciAudG9wLWZvb3RlciAucXVpY2stbGlua3MgLm1lbnUgbGkgYSB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzk5MUIxRTtcbiAgcGFkZGluZzogMDtcbn1cblxuLmZvb3RlciAudG9wLWZvb3RlciAuZm9sbG93LXVzIHtcbiAgZmxleC1iYXNpczogNTAlO1xufVxuXG4uZm9vdGVyIC50b3AtZm9vdGVyIC5zb2NpYWwtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDI1MHB4O1xufVxuXG4uZm9vdGVyIC50b3AtZm9vdGVyIC5zb2NpYWwtbGluayBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogNDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZm9vdGVyIC50b3AtZm9vdGVyIC5zb2NpYWwtbGluayBsaSBhLmZiIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyNjdCMjtcbn1cblxuLmZvb3RlciAudG9wLWZvb3RlciAuc29jaWFsLWxpbmsgbGkgYS5pbnN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG59XG5cbi5mb290ZXIgLnRvcC1mb290ZXIgLnNvY2lhbC1saW5rIGxpIGEubGlua2VkaW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N0I1O1xufVxuXG4uZm9vdGVyIC50b3AtZm9vdGVyIC5zb2NpYWwtbGluayBsaSBhLmdvb2dsZW1hcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQTQzMzU7XG59XG5cbi5mb290ZXIgLnRvcC1mb290ZXIgLnNvY2lhbC1saW5rIGxpIGEgc3ZnW2RhdGEtdXNlXSB7XG4gIGhlaWdodDogMjJweDtcbiAgd2lkdGg6IDIycHg7XG4gIGZpbGw6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAuZm9vdGVyIC50b3AtZm9vdGVyIC5sb2dvIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyODBweDtcbiAgfVxuICAuZm9vdGVyIC50b3AtZm9vdGVyIC5sb2dvIGEge1xuICAgIGZvbnQtc2l6ZTogMzJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLmZvb3RlciAudG9wLWZvb3RlciAuZ3JpZC1jb250YWluZXIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuICAuZm9vdGVyIC50b3AtZm9vdGVyIC5sb2dvIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgfVxuICAuZm9vdGVyIC50b3AtZm9vdGVyIC5sb2dvIGEge1xuICAgIGZvbnQtc2l6ZTogMjZweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMwNzY5O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmZvb3RlciAudG9wLWZvb3RlciAuc29jaWFsLWxpbmsge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gIH1cbiAgLmZvb3RlciAudG9wLWZvb3RlciAuc29jaWFsLWxpbmsgbGkgYSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICAuZm9vdGVyIC50b3AtZm9vdGVyIC5zb2NpYWwtbGluayBsaSBhIHN2Z1tkYXRhLXVzZV0ge1xuICAgIGhlaWdodDogMThweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLmZvb3RlciAudG9wLWZvb3RlciAubG9jYWwtb2ZmaWNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmZvb3RlciAudG9wLWZvb3RlciB7XG4gICAgcGFkZGluZzogMCAxMHB4IDMwcHg7XG4gIH1cbiAgLmZvb3RlciAudG9wLWZvb3RlciAuZ3JpZC1jb250YWluZXIgPiBkaXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5mb290ZXIgLnRvcC1mb290ZXIgLmxvZ28ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmZvb3RlciAudG9wLWZvb3RlciAubG9nbyBhIHtcbiAgICBtYXgtd2lkdGg6IDMzMHB4O1xuICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmZvb3RlciAudG9wLWZvb3RlciAubG9nbyBhOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG4gIC5mb290ZXIgLnRvcC1mb290ZXIgLnF1aWNrLWxpbmtzLFxuICAuZm9vdGVyIC50b3AtZm9vdGVyIC5sb2NhbC1vZmZpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmZvb3RlciAudG9wLWZvb3RlciAuZ3JpZC1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5mb290ZXIgLnRvcC1mb290ZXIgLnNvY2lhbC1saW5rIGxpIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gIH1cbiAgLmZvb3RlciAudG9wLWZvb3RlciAuc29jaWFsLWxpbmsgbGkgYSB7XG4gICAgcGFkZGluZzogOHB4O1xuICB9XG4gIC5mb290ZXIgLmNvcHlyaWdodC13cmFwIHAge1xuICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUzMzMzO1xuICB9XG59XG5cbmJvZHksXG5odG1sLFxuLndyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi53cmFwcGVyIC5zdGlja3ktdG8tdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDcwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4uc2VjLXRoYW5reW91LFxuLnNlYy00MDQge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0NjhweCk7XG4gIHBhZGRpbmc6IDEwMHB4IDA7XG59XG5cbi5zZWMtdGhhbmt5b3UgLmdyaWQtY29udGFpbmVyLFxuLnNlYy10aGFua3lvdSAuZ3JpZC14LFxuLnNlYy00MDQgLmdyaWQtY29udGFpbmVyLFxuLnNlYy00MDQgLmdyaWQteCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNlYy10aGFua3lvdSBoMSxcbi5zZWMtNDA0IGgxIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiA0MnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg2O1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNlYy10aGFua3lvdSBwLFxuLnNlYy00MDQgcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41NTU1NjtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuc2VjLXRoYW5reW91LFxuICAuc2VjLTQwNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDMzcHgpO1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWMtdGhhbmt5b3UsXG4gIC5zZWMtNDA0IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMDFweCk7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5zZWMtdGhhbmt5b3UsXG4gIC5zZWMtNDA0IHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyOTJweCk7XG4gIH1cbn1cblxuLmhlcm8tYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbn1cblxuLmhlcm8tYmFubmVyIC52aWRlby13cmFwLFxuLmhlcm8tYmFubmVyIC5pbWFnZS13cmFwIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3ZpZGVvLWJnLmpwZ1wiKSB0b3AvY292ZXIgbm8tcmVwZWF0O1xufVxuXG4uaGVyby1iYW5uZXIgLnZpZGVvLXdyYXA6YWZ0ZXIsXG4uaGVyby1iYW5uZXIgLmltYWdlLXdyYXA6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNnB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC02cHg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC41O1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMTAwJSAwLCAxMDAlIDgwJSwgMCAxMDAlLCAwIDIwJSk7XG59XG5cbi5oZXJvLWJhbm5lciAuaW1hZ2Utd3JhcDphZnRlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5oZXJvLWJhbm5lciB2aWRlbywgLmhlcm8tYmFubmVyIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDAsIDEwMCUgODAlLCAwIDEwMCUsIDAgMjAlKTtcbn1cblxuLmhlcm8tYmFubmVyIC50ZXh0LXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICB6LWluZGV4OiAyO1xuICBtYXgtd2lkdGg6IDEwOTBweDtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG59XG5cbi5oZXJvLWJhbm5lciAudGV4dC13cmFwIGEuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI2NjY3O1xufVxuXG4uaGVyby1iYW5uZXIgaDEge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDk2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDAuODQzNzU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5oZXJvLWJhbm5lciBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAzNXB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjUxNDI5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgbWF4LXdpZHRoOiA5ODBweDtcbn1cblxuLmhlcm8tYmFubmVyIHAge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMzYzNjQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5oZXJvLWJhbm5lciBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uaGVyby1iYW5uZXIuYWJvdXQtaGVyby1iYW5uZXIsIC5oZXJvLWJhbm5lci5zZXJ2aWNlLWhlcm8tYmFubmVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmhlcm8tYmFubmVyLmFib3V0LWhlcm8tYmFubmVyIC50ZXh0LXdyYXAsIC5oZXJvLWJhbm5lci5zZXJ2aWNlLWhlcm8tYmFubmVyIC50ZXh0LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmhlcm8tYmFubmVyLmFib3V0LWhlcm8tYmFubmVyIC50ZXh0LXdyYXAgcCwgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgLnRleHQtd3JhcCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmhlcm8tYmFubmVyLmFib3V0LWhlcm8tYmFubmVyIC5pbWFnZS13cmFwOmFmdGVyLCAuaGVyby1iYW5uZXIuc2VydmljZS1oZXJvLWJhbm5lciAuaW1hZ2Utd3JhcDphZnRlciB7XG4gIGhlaWdodDogY2FsYygxMDAlICsgMXB4KTtcbn1cblxuLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIge1xuICB6LWluZGV4OiAwO1xufVxuXG4uaGVyby1iYW5uZXIuc2VydmljZS1oZXJvLWJhbm5lciAudGV4dC13cmFwIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDUwcHggMDtcbn1cblxuLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgLnRleHQtd3JhcCAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaGVyby1iYW5uZXIuc2VydmljZS1oZXJvLWJhbm5lciAudGV4dC13cmFwIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAuaGVyby1iYW5uZXIgLnRleHQtd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA5NTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuaGVyby1iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogNzVweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA2NjY3O1xuICB9XG4gIC5oZXJvLWJhbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjA3MTQ7XG4gICAgbWF4LXdpZHRoOiA4NjBweDtcbiAgfVxuICAuaGVyby1iYW5uZXIgLmltYWdlLXdyYXAgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5oZXJvLWJhbm5lciAudGV4dC13cmFwIHtcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICB9XG4gIC5oZXJvLWJhbm5lciAudGV4dC13cmFwIGEuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDI2cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zMDc2OTtcbiAgfVxuICAuaGVyby1iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogNTZweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE2MDcxO1xuICB9XG4gIC5oZXJvLWJhbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjY2Njc7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgfVxuICAuaGVyby1iYW5uZXIgLmltYWdlLXdyYXAgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcbiAgfVxuICAuaGVyby1iYW5uZXIuYWJvdXQtaGVyby1iYW5uZXIgLnRleHQtd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgfVxuICAuaGVyby1iYW5uZXIuYWJvdXQtaGVyby1iYW5uZXIgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ0NDQ7XG4gIH1cbiAgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgLnRleHQtd3JhcCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgLnRleHQtd3JhcCBoMiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuaGVyby1iYW5uZXIgLnRleHQtd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbiAgLmhlcm8tYmFubmVyIC50ZXh0LXdyYXAgYS5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbiAgLmhlcm8tYmFubmVyIGgxIHtcbiAgICBmb250LXNpemU6IDQ4cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIH1cbiAgLmhlcm8tYmFubmVyIGgyIHtcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICB9XG4gIC5oZXJvLWJhbm5lciAudmlkZW8td3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuICAuaGVyby1iYW5uZXIgLmltYWdlLXdyYXAgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5oZXJvLWJhbm5lci5hYm91dC1oZXJvLWJhbm5lciAudGV4dC13cmFwLCAuaGVyby1iYW5uZXIuc2VydmljZS1oZXJvLWJhbm5lciAudGV4dC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5oZXJvLWJhbm5lci5hYm91dC1oZXJvLWJhbm5lciAuaW1hZ2Utd3JhcCwgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgLmltYWdlLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbiAgLmhlcm8tYmFubmVyLmFib3V0LWhlcm8tYmFubmVyIC5pbWFnZS13cmFwOjphZnRlciwgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgLmltYWdlLXdyYXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5oZXJvLWJhbm5lci5hYm91dC1oZXJvLWJhbm5lciBoMSwgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogNDJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIzODE7XG4gICAgY29sb3I6ICM5OTFCMUU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuaGVyby1iYW5uZXIuYWJvdXQtaGVyby1iYW5uZXIgaDIsIC5oZXJvLWJhbm5lci5hYm91dC1oZXJvLWJhbm5lciBwLCAuaGVyby1iYW5uZXIuc2VydmljZS1oZXJvLWJhbm5lciBoMiwgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgcCB7XG4gICAgY29sb3I6ICMzQzNDM0M7XG4gIH1cbiAgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgLnRleHQtd3JhcCB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oZXJvLWJhbm5lciAudmlkZW8td3JhcDo6YWZ0ZXIsXG4gIC5oZXJvLWJhbm5lciAuaW1hZ2Utd3JhcDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmhlcm8tYmFubmVyIC50ZXh0LXdyYXAge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5oZXJvLWJhbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiA0MnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjM4MTtcbiAgICBjb2xvcjogIzk5MUIxRTtcbiAgfVxuICAuaGVyby1iYW5uZXIgaDIge1xuICAgIGNvbG9yOiAjM0MzQzNDO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuaGVyby1iYW5uZXIgLnRleHQtd3JhcCB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG4gIC5oZXJvLWJhbm5lciAudGV4dC13cmFwIGEuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDIxcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4xOTA0ODtcbiAgfVxuICAuaGVyby1iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMzZweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3Nzc4O1xuICB9XG4gIC5oZXJvLWJhbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ0NDQ7XG4gIH1cbiAgLmhlcm8tYmFubmVyLnNlcnZpY2UtaGVyby1iYW5uZXIgLnRleHQtd3JhcCBoMSB7XG4gICAgZm9udC1zaXplOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICB9XG59XG5cbi5zZWMtYmFkZ2Uge1xuICBtYXJnaW4tdG9wOiAtMTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbn1cblxuLnNlYy1iYWRnZSAuYmFkZ2Utd3JhcCB7XG4gIHBhZGRpbmc6IDYwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDBweCA0cHggMTRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIG1pbi1oZWlnaHQ6IDM0NXB4O1xufVxuXG4uc2VjLWJhZGdlIGZpZ3VyZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlYy1iYWRnZSBmaWd1cmUgPiBpbWcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQycHg7XG59XG5cbi5zZWMtYmFkZ2UgbGFiZWwsIC5zZWMtYmFkZ2UgZmlnY2FwdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAzNHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICBtaW4taGVpZ2h0OiA3MHB4O1xufVxuXG4uc2VjLWJhZGdlIC5zZXJ2aWNlcy1ndWFyYW50ZWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIG1hcmdpbjogODBweCBhdXRvIDMwcHg7XG59XG5cbi5zZWMtYmFkZ2UgLnNlcnZpY2VzLWd1YXJhbnRlZSA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXgtd2lkdGg6IDc4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWMtYmFkZ2UgLnNlcnZpY2VzLWd1YXJhbnRlZSAuc2VydmljZS1pdGVtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgbWluLWhlaWdodDogMTc1cHg7XG59XG5cbi5zZWMtYmFkZ2UgLnNlcnZpY2VzLWd1YXJhbnRlZSAuc2VydmljZS1pdGVtIGltZyB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGhlaWdodDogMTA1cHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uc2VjLWJhZGdlIC5zZXJ2aWNlcy1ndWFyYW50ZWUgLnNlcnZpY2UtaXRlbSBsYWJlbCB7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnNlYy1iYWRnZS5zZWMtYmFkZ2UtaW5uZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uc2VjLWJhZGdlLnNlYy1iYWRnZS1pbm5lciAuYmFkZ2Utd3JhcCB7XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbn1cblxuLnNlYy1iYWRnZS5zZWMtYmFkZ2UtaW5uZXIgLmJhZGdlLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNlYy1iYWRnZS5zZWMtYmFkZ2UtaW5uZXIgZmlndXJlID4gaW1nIHtcbiAgbWluLWhlaWdodDogMTE1cHg7XG59XG5cbi5zZWMtYmFkZ2Uuc2VjLWJhZGdlLWlubmVyIGZpZ2NhcHRpb24ge1xuICBtaW4taGVpZ2h0OiBhdXRvO1xufVxuXG4uc2VjLWJhZGdlLnNlYy1iYWRnZS1pbm5lciAuc2VydmljZXMtZ3VhcmFudGVlIGZpZ2NhcHRpb24ge1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgLnNlYy1iYWRnZSB7XG4gICAgbWFyZ2luLXRvcDogLTgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuc2VjLWJhZGdlIHtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgfVxuICAuc2VjLWJhZGdlLnNlYy1iYWRnZS1pbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuc2VjLWJhZGdlLnNlYy1iYWRnZS1pbm5lciAuYmFkZ2Utd3JhcCB7XG4gICAgbWluLWhlaWdodDogMjcwcHg7XG4gICAgcGFkZGluZzogMzBweCAxNXB4O1xuICB9XG4gIC5zZWMtYmFkZ2Uuc2VjLWJhZGdlLWlubmVyIC5iYWRnZS13cmFwLmdvb2dsZS1yZXZpZXcge1xuICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDlweDtcbiAgfVxuICAuc2VjLWJhZGdlLnNlYy1iYWRnZS1pbm5lciAuYmFkZ2Utd3JhcC5nb29nbGUtcmV2aWV3IGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICB9XG4gIC5zZWMtYmFkZ2Uuc2VjLWJhZGdlLWlubmVyIGZpZ3VyZSA+IGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgbWluLWhlaWdodDogMTI1cHg7XG4gIH1cbiAgLnNlYy1iYWRnZS5zZWMtYmFkZ2UtaW5uZXIgZmlnY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjMwNzc7XG4gIH1cbiAgLnNlYy1iYWRnZSAuc2VydmljZXMtZ3VhcmFudGVlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG4gIC5zZWMtYmFkZ2UgLnNlcnZpY2VzLWd1YXJhbnRlZSBmaWdjYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDMycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjLWJhZGdlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogNDBweCAwIDMwcHg7XG4gIH1cbiAgLnNlYy1iYWRnZSAuZ3JpZC14IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5zZWMtYmFkZ2UgLmJhZGdlLXdyYXAge1xuICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI5NXB4O1xuICB9XG4gIC5zZWMtYmFkZ2UgbGFiZWwsIC5zZWMtYmFkZ2UgZmlnY2FwdGlvbiB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuICAuc2VjLWJhZGdlLnNlYy1iYWRnZS1pbm5lciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5zZWMtYmFkZ2Uuc2VjLWJhZGdlLWlubmVyIC5iYWRnZS13cmFwIHtcbiAgICBtaW4taGVpZ2h0OiAyMTBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIH1cbiAgLnNlYy1iYWRnZS5zZWMtYmFkZ2UtaW5uZXIgLmJhZGdlLXdyYXAuZ29vZ2xlLXJldmlldyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cbiAgLnNlYy1iYWRnZS5zZWMtYmFkZ2UtaW5uZXIgZmlndXJlID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIH1cbiAgLnNlYy1iYWRnZS5zZWMtYmFkZ2UtaW5uZXIgZmlnY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cbiAgLnNlYy1iYWRnZSAuc2VydmljZXMtZ3VhcmFudGVlID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjLWJhZGdlLnNlYy1iYWRnZS1pbm5lciAuYmFkZ2Utd3JhcC5nb29nbGUtcmV2aWV3IGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM2MzY0O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuc2VjLWJhZGdlIC5iYWRnZS13cmFwIHtcbiAgICBtaW4taGVpZ2h0OiAyNTVweDtcbiAgfVxuICAuc2VjLWJhZGdlLnNlYy1iYWRnZS1pbm5lciAuYmFkZ2Utd3JhcCB7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gIH1cbiAgLnNlYy1iYWRnZS5zZWMtYmFkZ2UtaW5uZXIgLmJhZGdlLXdyYXAuZ29vZ2xlLXJldmlldyBmaWdjYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMztcbiAgfVxuICAuc2VjLWJhZGdlIC5zZXJ2aWNlcy1ndWFyYW50ZWUge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG4gIC5zZWMtYmFkZ2UgLnNlcnZpY2VzLWd1YXJhbnRlZSA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cbiAgLnNlYy1iYWRnZSAuc2VydmljZXMtZ3VhcmFudGVlIC5zZXJ2aWNlLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zZWMtYmFkZ2UgLnNlcnZpY2VzLWd1YXJhbnRlZSAuc2VydmljZS1pdGVtIGltZyB7XG4gICAgaGVpZ2h0OiA4NXB4O1xuICB9XG4gIC5zZWMtYmFkZ2UgLnNlcnZpY2VzLWd1YXJhbnRlZSAuc2VydmljZS1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQxM3B4KSB7XG4gIC5zZWMtYmFkZ2UgbGFiZWwsIC5zZWMtYmFkZ2UgZmlnY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLnNlYy1iYWRnZSAuYmFkZ2Utd3JhcCB7XG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xuICB9XG59XG5cbi5zZWMtdGV4dC1pbWFnZSB7XG4gIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xufVxuXG4uc2VjLXRleHQtaW1hZ2UgPiAuZ3JpZC1jb250YWluZXIge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAudGV4dC13cmFwIHtcbiAgbWF4LXdpZHRoOiA3NTVweDtcbn1cblxuLnNlYy10ZXh0LWltYWdlIC50ZXh0LXdyYXAud2lkZSB7XG4gIG1heC13aWR0aDogNzk1cHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAuZ3JpZC14Om5vdCguZ3JpZC1tYXJnaW4teCkgLnRleHQtd3JhcCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VjLXRleHQtaW1hZ2UgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2x1bW4tY291bnQ6IDI7XG4gIG1heC13aWR0aDogNzIwcHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSB1bCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNTtcbiAgY29sb3I6ICMzQzNDM0M7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlYy10ZXh0LWltYWdlIHVsIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjOTkxQjFFO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2M0YzRjNDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbn1cblxuLnNlYy10ZXh0LWltYWdlIHVsLnNpbmdsZS1jb2x1bW4ge1xuICBjb2x1bW4tY291bnQ6IDE7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSB1bC5kb3VibGUtY29sdW1uIHtcbiAgY29sdW1uLWNvdW50OiAyO1xufVxuXG4uc2VjLXRleHQtaW1hZ2UgcCB7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzNDM0MzQztcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNlYy10ZXh0LWltYWdlIHAgYSB7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG4uc2VjLXRleHQtaW1hZ2UgbGFiZWwge1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMzRweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS40NDExODtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSBsYWJlbCBhIHtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAuYnV0dG9uLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uc2VjLXRleHQtaW1hZ2UgLmJ1dHRvbi13cmFwIGEge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAuZm9ybS13cmFwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhDMjgyNTtcbiAgcGFkZGluZzogNDVweCAzNXB4IDIwcHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAuZm9ybS13cmFwIGgyIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAuZm9ybS13cmFwIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAuZm9ybS13cmFwIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNDM0MzQztcbn1cblxuLnNlYy10ZXh0LWltYWdlIC5mb3JtLXdyYXAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjQ5LCAyNDksIDAuMik7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAuY291cG9uLWl0ZW0td3JhcCB7XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uc2VjLXRleHQtaW1hZ2UgLmNvdXBvbi1pdGVtLXdyYXAubWluaS1jb3Vwb24gLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHtcbiAgbWluLWhlaWdodDogMTgwcHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAuZmxleC1jb3Vwb24td3JhcCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc2VjLXRleHQtaW1hZ2UgLmZsZXgtY291cG9uLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciAuY291cG9uLWl0ZW0td3JhcCB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGZsZXgtYmFzaXM6IDQ4JTtcbn1cblxuLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXA6Zmlyc3QtY2hpbGQgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwLCAuc2VjLXRleHQtaW1hZ2UgLmZsZXgtY291cG9uLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciAuY291cG9uLWl0ZW0td3JhcDpudGgtY2hpbGQoMikgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHtcbiAgbWluLWhlaWdodDogMzYwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIC50ZXh0LWJvdHRvbS13cmFwIGEuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS40NDQ0NDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWMtdGV4dC1pbWFnZSAuZmxleC1jb3Vwb24td3JhcCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIC5jb3Vwb24taXRlbS13cmFwOmZpcnN0LWNoaWxkIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCwgLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXA6bnRoLWNoaWxkKDIpIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCB7XG4gICAgbWluLWhlaWdodDogMjYwcHg7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXAgLm9mZmVyLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZSAuZmxleC1jb3Vwb24td3JhcCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIC5jb3Vwb24taXRlbS13cmFwIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMjYwcHg7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIC50ZXh0LWJvdHRvbS13cmFwIGEuYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICBmb250LXNpemU6IDIxcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zODA5NTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXAge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXAgLm9mZmVyLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDEzcHgpIHtcbiAgLnNlYy10ZXh0LWltYWdlIC5mbGV4LWNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgLmNvdXBvbi1pdGVtLXdyYXAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIC50ZXh0LWJvdHRvbS13cmFwIGEuYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNlYy10ZXh0LWltYWdlIC5yZWQtYm94LWJvcmRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTFCMUU7XG4gIHBhZGRpbmc6IDE3cHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1heC13aWR0aDogNjkwcHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAucmVkLWJveC1ib3JkZXIgLndoaXRlLWJveC1ib3JkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xuICBwYWRkaW5nOiAzN3B4IDMwcHggMzVweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAucmVkLWJveC1ib3JkZXIgLndoaXRlLWJveC1ib3JkZXIgaDIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2VjLXRleHQtaW1hZ2UgLnJlZC1ib3gtYm9yZGVyIC53aGl0ZS1ib3gtYm9yZGVyIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMzBweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4yNjY2NztcbiAgbWFyZ2luOiAwIGF1dG8gNzBweDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5zZWMtdGV4dC1pbWFnZSAucmVkLWJveC1ib3JkZXIgLndoaXRlLWJveC1ib3JkZXIgYS5idXR0b24ge1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU1NTY7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zZWMtdGV4dC1pbWFnZS5iZy1wZXJmZWN0LWFjIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL2ltZy1iZy1waWNrLXBlcmZlY3QtYWMuanBnXCIpIHRvcC9jb3ZlciBuby1yZXBlYXQ7XG4gIHBhZGRpbmc6IDE5MHB4IDA7XG59XG5cbi5zZWMtdGV4dC1pbWFnZS5iZy1wZXJmZWN0LWFjIC50ZXh0LXdyYXAge1xuICBtYXgtd2lkdGg6IDcyMHB4O1xufVxuXG4uc2VjLXRleHQtaW1hZ2UuYmctcGVyZmVjdC1hYyAudGV4dC13cmFwIGgyIHtcbiAgbWF4LXdpZHRoOiA0NTBweDtcbn1cblxuLnNlYy10ZXh0LWltYWdlLmJnLXBlcmZlY3QtYWMgLnRleHQtd3JhcCBoMi5mdWxsLXdpZHRoIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5zZWMtdGV4dC1pbWFnZSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UuYmctcGVyZmVjdC1hYyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ltZy1iZy1waWNrLXBlcmZlY3QtYWMtdGFibGV0LmpwZ1wiKTtcbiAgICBwYWRkaW5nOiAxOTBweCAwIDEyMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMwJSB0b3A7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5mb3JtLXdyYXAge1xuICAgIHBhZGRpbmc6IDMwcHggMjBweCAyMHB4O1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZSAuZm9ybS13cmFwIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlYy10ZXh0LWltYWdlIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgMzBweDtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLmltYWdlLXdyYXAtYmctbG9nbyB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC50ZXh0LXdyYXAge1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5jb3Vwb24taXRlbS13cmFwIHtcbiAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLmdyaWQteDpub3QoLmdyaWQtbWFyZ2luLXgpIC50ZXh0LXdyYXAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIGgyIGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZSBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIGEuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgYS5idXR0b24uZGFyayB7XG4gICAgbWF4LXdpZHRoOiA3MCU7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5mb3JtLXdyYXAge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5mb3JtLXdyYXAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlLmJnLXBlcmZlY3QtYWMgLnRleHQtd3JhcCBoMiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZS5iZy1wZXJmZWN0LWFjIC50ZXh0LXdyYXAgaDIuZnVsbC13aWR0aCB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLnJlZC1ib3gtYm9yZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLnJlZC1ib3gtYm9yZGVyIC53aGl0ZS1ib3gtYm9yZGVyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5yZWQtYm94LWJvcmRlciAud2hpdGUtYm94LWJvcmRlciBhLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnNlYy10ZXh0LWltYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLmJ1dHRvbi13cmFwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIC5idXR0b24td3JhcCBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgdWwge1xuICAgIGNvbHVtbi1jb3VudDogMTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZSB1bC5zaW5nbGUtY29sdW1uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZSB1bC5kb3VibGUtY29sdW1uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLmltYWdlLXdyYXAtYmctbG9nbyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZSAuZm9ybS13cmFwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLmZvcm0td3JhcCAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTkwNDggIWltcG9ydGFudDtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgYS5idXR0b24uZGFyayxcbiAgLnNlYy10ZXh0LWltYWdlIGEuYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDkyJTtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLnJlZC1ib3gtYm9yZGVyIC53aGl0ZS1ib3gtYm9yZGVyIHtcbiAgICBwYWRkaW5nOiAyN3B4IDE1cHggMjVweDtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLnJlZC1ib3gtYm9yZGVyIC53aGl0ZS1ib3gtYm9yZGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICB9XG4gIC5zZWMtdGV4dC1pbWFnZS5iZy1wZXJmZWN0LWFjIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgdG9wO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9pbWctYmctcGljay1wZXJmZWN0LWFjLW1vYmlsZS5qcGdcIik7XG4gICAgcGFkZGluZzogMTcwcHggMTBweCA4MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MTNweCkge1xuICAuc2VjLXRleHQtaW1hZ2UgLnJlZC1ib3gtYm9yZGVyIC53aGl0ZS1ib3gtYm9yZGVyIHtcbiAgICBwYWRkaW5nOiAyN3B4IDE1cHggMjVweDtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgLnJlZC1ib3gtYm9yZGVyIC53aGl0ZS1ib3gtYm9yZGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbiAgLnNlYy10ZXh0LWltYWdlIHVsLmRvdWJsZS1jb2x1bW4ge1xuICAgIGNvbHVtbi1jb3VudDogMTtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UgYS5idXR0b24uZGFyayxcbiAgLnNlYy10ZXh0LWltYWdlIGEuYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDk1JTtcbiAgfVxuICAuc2VjLXRleHQtaW1hZ2UuYmctcGVyZmVjdC1hYyB7XG4gICAgcGFkZGluZzogMTUwcHggMTBweCA4MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMwJSAtMzBweDtcbiAgfVxufVxuXG4uZ29vZ2xlLXJldmlld3Mge1xuICBtYXJnaW46IDMwcHggYXV0byAwO1xuICBtYXgtd2lkdGg6IDY0MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmdvb2dsZS1yZXZpZXdzIHtcbiAgICBtYXgtd2lkdGg6IDU4MHB4O1xuICB9XG59XG5cbi5zZXJ2aWNlcy15b3UtY2FuLXJlbHkge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBwYWRkaW5nOiAxMDBweCAwIDYwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlcnZpY2VzLXlvdS1jYW4tcmVseTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6ICM5OTFCMUU7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDUlLCAxMDAlIDAsIDEwMCUgOTUlLCAwIDEwMCUpO1xufVxuXG4uc2VydmljZXMteW91LWNhbi1yZWx5OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDEwJSwgMTAwJSAxMDAlLCAwIDkwJSk7XG59XG5cbi5zZXJ2aWNlcy15b3UtY2FuLXJlbHkgLnNlcnZpY2UtaXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNlcnZpY2VzLXlvdS1jYW4tcmVseSAuc2VydmljZS1pdGVtcyAuc2VydmljZS1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VydmljZXMteW91LWNhbi1yZWx5IC5zZXJ2aWNlLWl0ZW1zIC5zZXJ2aWNlLWl0ZW0gYTpob3ZlciAuaW1hZ2Utd3JhcCBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xufVxuXG4uc2VydmljZXMteW91LWNhbi1yZWx5IC5zZXJ2aWNlLWl0ZW1zIC5zZXJ2aWNlLWl0ZW0gLmltYWdlLXdyYXAge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2VydmljZXMteW91LWNhbi1yZWx5IC5zZXJ2aWNlLWl0ZW1zIC5zZXJ2aWNlLWl0ZW0gLmltYWdlLXdyYXAgaW1nIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi5zZXJ2aWNlcy15b3UtY2FuLXJlbHkgLnNlcnZpY2UtaXRlbXMgLnNlcnZpY2UtaXRlbSAuaW1hZ2Utd3JhcDo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMzMzMzMzIDAlLCByZ2JhKDUxLCA1MSwgNTEsIDApIDEwMCUpO1xufVxuXG4uc2VydmljZXMteW91LWNhbi1yZWx5IC5zZXJ2aWNlLWl0ZW1zIC5zZXJ2aWNlLWl0ZW0gcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogNTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAzNHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0MTE4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNlcnZpY2VzLXlvdS1jYW4tcmVseSBoMiB7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogNDBweDtcbn1cblxuLnNlcnZpY2VzLXlvdS1jYW4tcmVseSBoMyB7XG4gIGNvbG9yOiAjQkRCREJEO1xufVxuXG4uc2VydmljZXMteW91LWNhbi1yZWx5IC50ZXh0LXdyYXAge1xuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5zZXJ2aWNlcy15b3UtY2FuLXJlbHkgYS5idXR0b24ge1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU1NTY7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlcnZpY2VzLXlvdS1jYW4tcmVseSB7XG4gICAgcGFkZGluZzogNzBweCAwIDMwcHg7XG4gIH1cbiAgLnNlcnZpY2VzLXlvdS1jYW4tcmVseTo6YmVmb3JlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgfVxuICAuc2VydmljZXMteW91LWNhbi1yZWx5OjphZnRlciB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gIH1cbiAgLnNlcnZpY2VzLXlvdS1jYW4tcmVseSAuc2VydmljZS1pdGVtcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuc2VydmljZXMteW91LWNhbi1yZWx5IC5zZXJ2aWNlLWl0ZW1zIC5zZXJ2aWNlLWl0ZW0ge1xuICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgfVxuICAuc2VydmljZXMteW91LWNhbi1yZWx5IC50ZXh0LXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDk1cHg7XG4gIH1cbn1cblxuLnNlY3Rpb24tb2ZmZXIge1xuICBwYWRkaW5nOiA4MHB4IDAgNjBweDtcbn1cblxuLnNlY3Rpb24tb2ZmZXIgaDIge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4uc2VjdGlvbi1vZmZlciAub2ZmZXItd3JhcCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNlY3Rpb24tb2ZmZXIgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHtcbiAgcGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5zZWN0aW9uLW9mZmVyIC5ncmlkLXggLmNlbGwge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5zZWN0aW9uLW9mZmVyIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCB7XG4gICAgbWluLWhlaWdodDogMjQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlY3Rpb24tb2ZmZXIuaG9tZSAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAge1xuICAgIG1pbi1oZWlnaHQ6IDM0MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLnNlY3Rpb24tb2ZmZXIuaG9tZSAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAge1xuICAgIG1pbi1oZWlnaHQ6IDI0MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlY3Rpb24tb2ZmZXIge1xuICAgIHBhZGRpbmc6IDQwcHggMCAzMHB4O1xuICB9XG4gIC5zZWN0aW9uLW9mZmVyIC5jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zZWN0aW9uLW9mZmVyIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCB7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnNlY3Rpb24tb2ZmZXIge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG59XG5cbi5zZWN0aW9uLXNsaWRlci1sb2dvIHtcbiAgcGFkZGluZzogNDBweCAwO1xufVxuXG4uc2VjdGlvbi1zbGlkZXItbG9nbyAuc2xpZGVyLXdyYXAge1xuICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5zZWN0aW9uLXNsaWRlci1sb2dvIC5zbGlkZXItd3JhcCAuc2xpZGVyLWl0ZW0gaW1nIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5zZWN0aW9uLXNsaWRlci1sb2dvLmlubmVyLXBhZ2UgaDIge1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4uc2VjdGlvbi1zbGlkZXItbG9nby5pbm5lci1wYWdlIC5zbGlkZXItd3JhcCB7XG4gIHBhZGRpbmc6IDQwcHggMDtcbn1cblxuLnNlY3Rpb24tc2xpZGVyLWxvZ28uaW5uZXItcGFnZSAuc2xpZGVyLWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlY3Rpb24tc2xpZGVyLWxvZ28uaW5uZXItcGFnZSAuc2xpZGVyLWxvZ28gLnNsaWNrLXNsaWRlIGltZyB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5zZWN0aW9uLXNsaWRlci1sb2dvLmlubmVyLXBhZ2UgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjdGlvbi1zbGlkZXItbG9nby5pbm5lci1wYWdlIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zZWN0aW9uLXNsaWRlci1sb2dvLmlubmVyLXBhZ2UgLnNsaWRlci13cmFwIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gIH1cbn1cblxuLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZSB7XG4gIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaW1nLWJnLW1vZGVsLWV4Y2VsbGVuY2UuanBnXCIpIGNlbnRlci9jb3ZlciBuby1yZXBlYXQ7XG59XG5cbi5zZWN0aW9uLW1vZGVsLWV4Y2VsbGVuY2Uubm8tYmcge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uc2VjdGlvbi1tb2RlbC1leGNlbGxlbmNlIC5oZWFkZXItd3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNDVweDtcbn1cblxuLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZSAuZ3JpZC14IC5jZWxsIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbi1tb2RlbC1leGNlbGxlbmNlIC5tb2RlbC1pdGVtIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgcGFkZGluZzogNTBweCA0MHB4IDU1cHg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZSAubW9kZWwtaXRlbSAuaW1hZ2Utd3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZSAubW9kZWwtaXRlbSAudGV4dC13cmFwIGg0IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAzNHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjE3NjQ3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjOTkxQjFFO1xuICBtYXgtd2lkdGg6IDMzMHB4O1xuICBtYXJnaW46IDAgYXV0byAzMHB4O1xufVxuXG4uc2VjdGlvbi1tb2RlbC1leGNlbGxlbmNlIC5tb2RlbC1pdGVtIC50ZXh0LXdyYXAgcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zNjM2NDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzNDM0MzQztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZSBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZSAubW9kZWwtaXRlbSB7XG4gICAgcGFkZGluZzogMzBweCAyNXB4IDI1cHg7XG4gIH1cbiAgLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZSAubW9kZWwtaXRlbSAudGV4dC13cmFwIGg0IHtcbiAgICBmb250LXNpemU6IDMycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4xODc1O1xuICB9XG4gIC5zZWN0aW9uLW1vZGVsLWV4Y2VsbGVuY2UgLm1vZGVsLWl0ZW0gLnRleHQtd3JhcCBwIHtcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG4gIC5zZWN0aW9uLW1vZGVsLWV4Y2VsbGVuY2UgLm1vZGVsLWl0ZW0gLmltYWdlLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjdGlvbi1tb2RlbC1leGNlbGxlbmNlIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMzBweDtcbiAgfVxuICAuc2VjdGlvbi1tb2RlbC1leGNlbGxlbmNlIC5tb2RlbC1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5zZWN0aW9uLW1vZGVsLWV4Y2VsbGVuY2UgLm1vZGVsLWl0ZW0gLnRleHQtd3JhcCBoNCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuc2VjdGlvbi1tb2RlbC1leGNlbGxlbmNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxuICAuc2VjdGlvbi1tb2RlbC1leGNlbGxlbmNlIC5tb2RlbC1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICB9XG4gIC5zZWN0aW9uLW1vZGVsLWV4Y2VsbGVuY2UgLm1vZGVsLWl0ZW0gLnRleHQtd3JhcCBoNCB7XG4gICAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjE0Mjk7XG4gIH1cbiAgLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZSAubW9kZWwtaXRlbSAudGV4dC13cmFwIHAge1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ0NDQ0O1xuICB9XG59XG5cbi5zZWMtcmVkLWJnIHtcbiAgcGFkZGluZzogMjE1cHggMTBweCAxNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VjLXJlZC1iZzo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA1NTJweDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDM1JSwgMTAwJSAwLCAxMDAlIDY1JSwgMCAxMDAlKTtcbn1cblxuLnNlYy1yZWQtYmc6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAyMCUsIDEwMCUgMTAwJSwgMCA4MCUpO1xufVxuXG4uc2VjLXJlZC1iZy5iZy1pbnZlcnQ6OmJlZm9yZSB7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAzNSUsIDEwMCUgOTAlLCAwJSA2NSUpO1xufVxuXG4uc2VjLXJlZC1iZy5iZy1pbnZlcnQ6OmFmdGVyIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMjAlLCAxMDAlIDAlLCAxMDAlIDgwJSwgMCUgMTAwJSk7XG59XG5cbi5zZWMtcmVkLWJnIC5sZWZ0LXBhbmVsIHtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgcGFkZGluZzogMTVweCAyNXB4IDAgMDtcbn1cblxuLnNlYy1yZWQtYmcgLnJpZ2h0LXBhbmVsIHtcbiAgcGFkZGluZzogMCAxMHB4IDAgMHB4O1xufVxuXG4uc2VjLXJlZC1iZyBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjLXJlZC1iZyBoMyB7XG4gIGZvbnQtc2l6ZTogMzRweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4xNzY0NztcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIlRla29cIiwgc2Fucy1zZXJpZjtcbn1cblxuLnNlYy1yZWQtYmcgcCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnNlYy1yZWQtYmcgbGFiZWwge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjY2Njc7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc2VjLXJlZC1iZyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG59XG5cbi5zZWMtcmVkLWJnIHVsIGxpIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLnNlYy1yZWQtYmcgdWwgbGk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgbGVmdDogMnB4O1xuICB0b3A6IDdweDtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMTNweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5zZWMtcmVkLWJnIHVsIGxpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgbGVmdDogNXB4O1xuICB0b3A6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7XG59XG5cbi5zZWMtcmVkLWJnIC5idXR0b24td3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5zZWMtcmVkLWJnIHtcbiAgICBwYWRkaW5nOiAxNzVweCAxMHB4IDEyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlYy1yZWQtYmcge1xuICAgIHBhZGRpbmc6IDEyNXB4IDEwcHggMTE1cHg7XG4gIH1cbiAgLnNlYy1yZWQtYmcgLmxlZnQtcGFuZWwge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5zZWMtcmVkLWJnOmFmdGVyIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDEwJSwgMTAwJSAxMDAlLCAwIDk1JSk7XG4gIH1cbiAgLnNlYy1yZWQtYmc6YmVmb3JlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAyMCUsIDEwMCUgMCwgMTAwJSA4MCUsIDAgMTAwJSk7XG4gIH1cbiAgLnNlYy1yZWQtYmcuYmctaW52ZXJ0OjpiZWZvcmUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAyMCUsIDEwMCUgMTAwJSwgMCUgODAlKTtcbiAgfVxuICAuc2VjLXJlZC1iZy5iZy1pbnZlcnQ6OmFmdGVyIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAxMCUsIDEwMCUgMCUsIDEwMCUgOTAlLCAwJSAxMDAlKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnNlYy1yZWQtYmcge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5zZWMtcmVkLWJnIC5sZWZ0LXBhbmVsIGgyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MTNweCkge1xuICAuc2VjLXJlZC1iZyB7XG4gICAgcGFkZGluZzogODVweCAxMHB4IDY1cHg7XG4gIH1cbiAgLnNlYy1yZWQtYmc6YmVmb3JlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAxNSUsIDEwMCUgMCwgMTAwJSA4NSUsIDAgMTAwJSk7XG4gIH1cbiAgLnNlYy1yZWQtYmc6YWZ0ZXIge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgNSUsIDEwMCUgMTAwJSwgMCA5NSUpO1xuICB9XG4gIC5zZWMtcmVkLWJnLmJnLWludmVydDo6YmVmb3JlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgMTAlLCAxMDAlIDEwMCUsIDAlIDkwJSk7XG4gIH1cbiAgLnNlYy1yZWQtYmcuYmctaW52ZXJ0OjphZnRlciB7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgNSUsIDEwMCUgMCUsIDEwMCUgOTUlLCAwJSAxMDAlKTtcbiAgfVxufVxuXG4uc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE4MHB4IDAgNTBweDtcbn1cblxuLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIHBpY3R1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cblxuLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIHBpY3R1cmUgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5ncmlkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5mb3JtLXBhbmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLmZvcm0tcGFuZWwgaDIge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4uc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLmZvcm0tcGFuZWwgaDIgKyBoMyB7XG4gIG1heC13aWR0aDogNjA4cHg7XG4gIG1hcmdpbjogMCBhdXRvIDUwcHg7XG59XG5cbi5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAuZm9ybS1wYW5lbCBoMi53aXRoc3ViIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5tb2RlbC1leGNlbC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2hhZG93OiAwLjVlbSAwLjVlbSAxZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgbWluLWhlaWdodDogNTYwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLm1vZGVsLWV4Y2VsLXdyYXA6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwcHg7XG4gIHRvcDogLTEwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5MUIxRTtcbiAgei1pbmRleDogLTE7XG59XG5cbi5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAubW9kZWwtZXhjZWwtd3JhcCAudGV4dC13cmFwIHtcbiAgbWF4LXdpZHRoOiA1NDBweDtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5tb2RlbC1leGNlbC13cmFwIC50ZXh0LXdyYXAgPiBzdmcge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLm1vZGVsLWV4Y2VsLXdyYXAgaDIge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5tb2RlbC1leGNlbC13cmFwIGgzIHtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDMycHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjE4NzU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLm1vZGVsLWV4Y2VsLXdyYXAgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAubW9kZWwtZXhjZWwtd3JhcCB1bCBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAubW9kZWwtZXhjZWwtd3JhcCB1bCBsaSBzcGFuIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xufVxuXG4uc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLm1vZGVsLWV4Y2VsLXdyYXAgdWwgbGkgLmluZm8ge1xuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLmltYWdlLXdyYXAtYmctbG9nbyBpbWcge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIHBpY3R1cmUgaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDUwcHg7XG4gIH1cbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5tb2RlbC1leGNlbC13cmFwIHtcbiAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5tb2RlbC1leGNlbC13cmFwIHVsIGxpIC5pbmZvIHtcbiAgICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zNjM2NDtcbiAgfVxuICAuc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLm1vZGVsLWV4Y2VsLXdyYXAgaDIge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5pbWFnZS13cmFwLWJnLWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zZWMtY29udGFjdC1mb3JtLWZvb3RlciBwaWN0dXJlIGltZyB7XG4gICAgb2JqZWN0LWZpdDogZmlsbDtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcCBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLm1vZGVsLWV4Y2VsLXdyYXAge1xuICAgIHdpZHRoOiA5NSU7XG4gIH1cbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5pbWFnZS13cmFwLWJnLWxvZ28ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxuICAuc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLm1vZGVsLWV4Y2VsLXdyYXAgaDMge1xuICAgIGZvbnQtc2l6ZTogMjZweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMwNzY5O1xuICB9XG4gIC5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAubW9kZWwtZXhjZWwtd3JhcCAudGV4dC13cmFwIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5mb3JtLXBhbmVsIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAuZm9ybS1wYW5lbCBoMi53aXRoc3ViIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAuZm9ybS1wYW5lbCBoMiArIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG4gIC5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAuZm9ybS13cmFwIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMS4xOTA0OCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAuc2VjLWNvbnRhY3QtZm9ybS1mb290ZXIgLmltYWdlLXdyYXAtYmctbG9nbyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XG4gIH1cbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5pbWFnZS13cmFwLWJnLWxvZ28gaW1nIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQxM3B4KSB7XG4gIC5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAubW9kZWwtZXhjZWwtd3JhcCB1bCBsaSAuaW5mbyB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ0NDQ7XG4gIH1cbiAgLnNlYy1jb250YWN0LWZvcm0tZm9vdGVyIC5tb2RlbC1leGNlbC13cmFwIC50ZXh0LXdyYXAgPiBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zZWMtY29udGFjdC1mb3JtLWZvb3RlciAuaW1hZ2Utd3JhcC1iZy1sb2dvIGltZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLyogQ29udGFjdCBVcyBUZW1wbGF0ZSBwYWdlICovXG4uY29udGFjdC11cy13cmFwIHtcbiAgcGFkZGluZzogMTAwcHggMCA2MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaW1nLWJnLW1vZGVsLWV4Y2VsbGVuY2UuanBnXCIpIGNlbnRlci9jb3ZlciBuby1yZXBlYXQ7XG59XG5cbi5jb250YWN0LXVzLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi5jb250YWN0LXVzLXdyYXAgLmhlYWRlci13cmFwIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDUwcHg7XG59XG5cbi5jb250YWN0LXVzLXdyYXAgLndwLWJsb2NrLWNvbHVtbiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbnRhY3QtdXMtd3JhcCAubG9jYXRpb24tYmctd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjQ4cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgxNTMsIDI3LCAyOSwgMC45KTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLmNvbnRhY3QtdXMtd3JhcCAubG9jYXRpb24tYmctd3JhcCAubG9jYXRpb24td3JhcCBwIHtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0NDQ0O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmNvbnRhY3QtdXMtd3JhcCAubG9jYXRpb24tYmctd3JhcCAubG9jYXRpb24td3JhcCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbnRhY3QtdXMtd3JhcCAubG9jYXRpb24tYmctd3JhcCAubG9jYXRpb24td3JhcCB1bCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4uY29udGFjdC11cy13cmFwIC5sb2NhdGlvbi1iZy13cmFwIC5sb2NhdGlvbi13cmFwIHVsIGxpIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLmNvbnRhY3QtdXMtd3JhcCAubG9jYXRpb24tYmctd3JhcCAubG9jYXRpb24td3JhcCB1bCBsaSBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY29udGFjdC11cy13cmFwIC5sb2NhdGlvbi1iZy13cmFwIC5sb2NhdGlvbi13cmFwIHVsIGEge1xuICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNDQ0NDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jb250YWN0LXVzLXdyYXAgLmZvcm0td3JhcCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNoYWRvdzogMC41ZW0gMC41ZW0gMWVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi5jb250YWN0LXVzLXdyYXAgLmZvcm0td3JhcCAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzQzNDM0M7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuY29udGFjdC11cy13cmFwIC5sb2NhdGlvbi1iZy13cmFwIHtcbiAgICB0b3A6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLmNvbnRhY3QtdXMtd3JhcCB7XG4gICAgcGFkZGluZzogNTBweCAwIDMwcHg7XG4gIH1cbiAgLmNvbnRhY3QtdXMtd3JhcCAuZm9ybS1sb2Mtd3JhcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuY29udGFjdC11cy13cmFwIC5sb2NhdGlvbi1iZy13cmFwIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MTNweCkge1xuICAuY29udGFjdC11cy13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuICAuY29udGFjdC11cy13cmFwIC5mb3JtLWxvYy13cmFwIC53cC1ibG9jay1jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb250YWN0LXVzLXdyYXAgLmZvcm0td3JhcCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICAuY29udGFjdC11cy13cmFwIC5mb3JtLXdyYXAgLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbn1cblxuLyogUHJpdmFjeSBUZW1wbGF0ZSBwYWdlICovXG4ucHJpdmFjeS1jb250YWluZXIge1xuICBwYWRkaW5nOiA4MHB4IDAgNjBweDtcbn1cblxuLnByaXZhY3ktY29udGFpbmVyID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLnByaXZhY3ktY29udGFpbmVyIC5wcml2YWN5LXBvbGljeS13cmFwIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMTVweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2hhZG93OiAwLjVlbSAwLjVlbSAxZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLnByaXZhY3ktY29udGFpbmVyIC5wcml2YWN5LXBvbGljeS13cmFwIC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzNDM0MzQztcbiAgcGFkZGluZzogMTVweDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJpdmFjeS1jb250YWluZXIgLnByaXZhY3ktcG9saWN5LXdyYXAgYSB7XG4gIGNvbG9yOiAjOTkxQjFFO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5wcml2YWN5LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNDBweCAwIDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5wcml2YWN5LWNvbnRhaW5lciBoMSwgLnByaXZhY3ktY29udGFpbmVyIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLyogUmV2aWV3IFRlbXBsYXRlIHBhZ2UgKi9cbi5yZXZpZXctY29udGFpbmVyIHtcbiAgcGFkZGluZzogODBweCAwIDYwcHg7XG59XG5cbi5yZXZpZXctY29udGFpbmVyID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLnJldmlldy1jb250YWluZXIgLmhlYWRlci13cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucmV2aWV3LWNvbnRhaW5lciAucmV2aWV3LXdyYXAge1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMTVweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2hhZG93OiAwLjVlbSAwLjVlbSAxZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLnJldmlldy1jb250YWluZXIgLnJldmlldy13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5yZXZpZXctY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNjBweDtcbiAgfVxuICAucmV2aWV3LWNvbnRhaW5lciAucmV2aWV3LXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4uZGVmYXVsdC1jb250YWluZXIge1xuICBwYWRkaW5nOiA4MHB4IDAgNjBweDtcbn1cblxuLmRlZmF1bHQtY29udGFpbmVyID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5kZWZhdWx0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNDBweCAwIDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5kZWZhdWx0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLyogQ291cG9uIFRlbXBsYXRlIHBhZ2UgKi9cbi5jb3Vwb24td3JhcCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY291cG9uLXdyYXAgLm9mZmVyLXdyYXAge1xuICBmbGV4LWJhc2lzOiAzMi4zMyU7XG4gIG1hcmdpbi1yaWdodDogMS4zMyU7XG59XG5cbi5jb3Vwb24td3JhcCAub2ZmZXItd3JhcDpudGgtY2hpbGQoM24pIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5jb3Vwb24td3JhcCAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAge1xuICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICB9XG4gIC5jb3Vwb24td3JhcCAub2ZmZXItd3JhcDpmaXJzdC1jaGlsZCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAsIC5jb3Vwb24td3JhcCAub2ZmZXItd3JhcDpudGgtY2hpbGQoMikgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwLCAuY291cG9uLXdyYXAgLm9mZmVyLXdyYXA6bnRoLWNoaWxkKDMpIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCB7XG4gICAgbWluLWhlaWdodDogMzUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuY291cG9uLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmNvdXBvbi13cmFwIC5vZmZlci13cmFwIHtcbiAgICBmbGV4LWJhc2lzOiA0OSU7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmNvdXBvbi13cmFwIC5vZmZlci13cmFwIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCB7XG4gICAgbWluLWhlaWdodDogMjgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvdXBvbi13cmFwIC5vZmZlci13cmFwOmZpcnN0LWNoaWxkIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcCwgLmNvdXBvbi13cmFwIC5vZmZlci13cmFwOm50aC1jaGlsZCgyKSAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXAsIC5jb3Vwb24td3JhcCAub2ZmZXItd3JhcDpudGgtY2hpbGQoMykgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHtcbiAgICBtaW4taGVpZ2h0OiAyODBweDtcbiAgfVxuICAuY291cG9uLXdyYXAgLm9mZmVyLXdyYXA6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuY291cG9uLXdyYXAge1xuICAgIHBhZGRpbmc6IDQwcHggMCA2MHB4O1xuICB9XG4gIC5jb3Vwb24td3JhcCAub2ZmZXItd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuY291cG9uLXdyYXAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwIHtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmNvdXBvbi13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5jb3Vwb24td3JhcCAub2ZmZXItd3JhcCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmNvdXBvbi13cmFwIC5vZmZlci13cmFwOm50aC1jaGlsZChvZGQpLCAuY291cG9uLXdyYXAgLm9mZmVyLXdyYXA6bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8qIEFib3V0IFRlbXBsYXRlIHBhZ2UgKi9cbi5zZWMtYWJvdXQtb3duZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWMtYWJvdXQtb3duZXIgZmlndXJlLmJnLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEyMHB4O1xuICB6LWluZGV4OiAtMTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAuc2VjLWFib3V0LW93bmVyIC50ZXh0LXdyYXAge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5zZWMtYWJvdXQtb3duZXIgLmltYWdlLXdyYXAtYmctbG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuc2VjLWFib3V0LW93bmVyIC5pbWFnZS13cmFwLWJnLWxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qIEFDLUhlYXRpbmcgVGVtcGxhdGUgcGFnZSAqL1xuLnNlY3Rpb24tYmFzZSA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5zZWMtbGluay13cmFwIHtcbiAgbWFyZ2luLXRvcDogLTIwMHB4O1xufVxuXG4uc2VjLWxpbmstd3JhcCAubGluay1pdGVtIHtcbiAgYmFja2dyb3VuZDogI0E2MDcwQztcbiAgcGFkZGluZzogMzRweCA0MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNlYy1saW5rLXdyYXAgLmxpbmstaXRlbSA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zZWMtbGluay13cmFwIC5saW5rLWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xufVxuXG4uc2VjLWxpbmstd3JhcCAubGluay1pdGVtIC53cC1ibG9jay1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDQ1cHggMDtcbn1cblxuLnNlYy1saW5rLXdyYXAgLmxpbmstaXRlbSBmaWd1cmUge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjLWxpbmstd3JhcCAubGluay1pdGVtIGZpZ3VyZSA+IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zZWMtbGluay13cmFwIC5saW5rLWl0ZW0gZmlndXJlIGltZyB7XG4gIG1heC13aWR0aDogMTMwcHg7XG4gIGNsaXAtcGF0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAxMDBweDtcbn1cblxuLnNlYy1saW5rLXdyYXAgLmxpbmstaXRlbSBmaWdjYXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnNlYy1saW5rLXdyYXAgLmxpbmstaXRlbSBmaWdjYXB0aW9uIGEge1xuICBmb250LXNpemU6IDI4cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zZWMtbGluay13cmFwLmhvdy13ZS1oZWxwIHtcbiAgbWFyZ2luLXRvcDogLTI2MHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM5MHB4KSB7XG4gIC5zZWMtbGluay13cmFwIC5saW5rLWl0ZW0ge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbiAgLnNlYy1saW5rLXdyYXAgLmxpbmstaXRlbSAud3AtYmxvY2staW1hZ2Uge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgfVxuICAuc2VjLWxpbmstd3JhcCAubGluay1pdGVtIC53cC1ibG9jay1pbWFnZSBmaWd1cmUgPiBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5zZWMtbGluay13cmFwIC5saW5rLWl0ZW0gLndwLWJsb2NrLWltYWdlIGZpZ3VyZSBpbWcge1xuICAgIG1heC13aWR0aDogMTEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuc2VjLWxpbmstd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogLTEyMHB4O1xuICB9XG4gIC5zZWMtbGluay13cmFwIC5saW5rLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgfVxuICAuc2VjLWxpbmstd3JhcCAubGluay1pdGVtIGZpZ2NhcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuc2VjLWxpbmstd3JhcCAubGluay1pdGVtIGZpZ2NhcHRpb24gYSB7XG4gICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIH1cbiAgLnNlYy1saW5rLXdyYXAgLmxpbmstaXRlbSAud3AtYmxvY2staW1hZ2Uge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLnNlYy1saW5rLXdyYXAuaG93LXdlLWhlbHAge1xuICAgIG1hcmdpbi10b3A6IC0xODBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gIC5zZWMtbGluay13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5zZWMtbGluay13cmFwIC5saW5rLWl0ZW0ge1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcbiAgfVxuICAuc2VjLWxpbmstd3JhcCAubGluay1pdGVtIC53cC1ibG9jay1pbWFnZSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuc2VjLWxpbmstd3JhcCAubGluay1pdGVtIC53cC1ibG9jay1pbWFnZSBmaWd1cmUgPiBhIHtcbiAgICBtaW4taGVpZ2h0OiA5NXB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgfVxuICAuc2VjLWxpbmstd3JhcCAubGluay1pdGVtIGZpZ2NhcHRpb24ge1xuICAgIG1pbi1oZWlnaHQ6IDY1cHg7XG4gIH1cbiAgLnNlYy1saW5rLXdyYXAuaG93LXdlLWhlbHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zZWMtbGluay13cmFwIC5saW5rLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbiAgLnNlYy1saW5rLXdyYXAgLmxpbmstaXRlbSBmaWdjYXB0aW9uIGEge1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3MjczO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuc2VjLWxpbmstd3JhcCAubGluay1pdGVtIGZpZ2NhcHRpb24ge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnNlYy1tb2RlbC1leGNlbC1pY29ucyBoMiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlYy1tb2RlbC1leGNlbC1pY29ucyBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnNlYy1tb2RlbC1leGNlbC1pY29ucyA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2VjLW1vZGVsLWV4Y2VsLWljb25zID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDIzMHB4O1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZDogIzk5MUIxRTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMTAlLCAxMDAlIDAsIDEwMCUgOTAlLCAwIDkwJSk7XG59XG5cbi5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAyNDBweDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMzAlLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG59XG5cbi5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciBoMiB7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG59XG5cbi5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciBoMyB7XG4gIGNvbG9yOiAjQkRCREJEO1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbn1cblxuLnNlYy1tb2RlbC1leGNlbC1pY29ucyA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyID4gLndwLWJsb2NrLWNvbHVtbnMge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbn1cblxuLnNlYy1tb2RlbC1leGNlbC1pY29ucyAuZXhjZWwtaWNvbi1ncmlkIC50ZXh0LXdyYXAgLndwLWJsb2NrLWltYWdlIGZpZ3VyZSB7XG4gIG1pbi1oZWlnaHQ6IDgycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2VjLW1vZGVsLWV4Y2VsLWljb25zIC5leGNlbC1pY29uLWdyaWQgLnRleHQtd3JhcCAuaDMtd3JhcCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgLmV4Y2VsLWljb24tZ3JpZCAudGV4dC13cmFwIC5oMy13cmFwIGgzIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgLmV4Y2VsLWljb24tZ3JpZCAudGV4dC13cmFwIGgzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LWZhbWlseTogXCJUZWtvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzRweCAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4xNzY0NztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM5OTFCMUU7XG59XG5cbi5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgLmV4Y2VsLWljb24tZ3JpZCAudGV4dC13cmFwIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMzYwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDIwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzk0cHgpIHtcbiAgLnNlYy1tb2RlbC1leGNlbC1pY29ucyAuZXhjZWwtaWNvbi1ncmlkIC50ZXh0LXdyYXAgLmgzLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgfVxuICAuc2VjLW1vZGVsLWV4Y2VsLWljb25zIC5leGNlbC1pY29uLWdyaWQgLnRleHQtd3JhcCBoMyB7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgLmV4Y2VsLWljb24tZ3JpZCAudGV4dC13cmFwIGgzIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlYy1tb2RlbC1leGNlbC1pY29ucyAuZXhjZWwtaWNvbi1ncmlkIC50ZXh0LXdyYXAgaDMge1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMTUlLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gIH1cbiAgLnNlYy1tb2RlbC1leGNlbC1pY29ucyA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIGgyIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgfVxuICAuc2VjLW1vZGVsLWV4Y2VsLWljb25zID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIgaDMge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIC5zZWMtbW9kZWwtZXhjZWwtaWNvbnMgLmV4Y2VsLWljb24tZ3JpZCAudGV4dC13cmFwIC5oMy13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDcycHg7XG4gIH1cbiAgLnNlYy1tb2RlbC1leGNlbC1pY29ucyAuZXhjZWwtaWNvbi1ncmlkIC50ZXh0LXdyYXAgaDMge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDI4cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4yODU3MTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnNlYy1tb2RlbC1leGNlbC1pY29ucyAuZXhjZWwtaWNvbi1ncmlkIC50ZXh0LXdyYXAge1xuICAgIG1heC13aWR0aDogNDUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLnNlYy1tb2RlbC1leGNlbC1pY29ucyAuZXhjZWwtaWNvbi1ncmlkIC50ZXh0LXdyYXAgLmgzLXdyYXAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDEzcHgpIHtcbiAgLnNlYy1tb2RlbC1leGNlbC1pY29ucyA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyOjphZnRlciB7XG4gICAgbWF4LWhlaWdodDogMjYwcHg7XG4gIH1cbn1cblxuLnNlYy1oZWFkZXItdGV4dC1jdGEgaDIge1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvIDUwcHg7XG59XG5cbi5zZWMtaGVhZGVyLXRleHQtY3RhIHAge1xuICBtYXgtd2lkdGg6IDEwMzBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjY2Njc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMzQzNDM0M7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlYy1oZWFkZXItdGV4dC1jdGEgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLnNlYy1oZWFkZXItdGV4dC1jdGEgaDIgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNlYy1oZWFkZXItdGV4dC1jdGEgcCB7XG4gICAgZm9udC1zaXplOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5zZWMtaGVhZGVyLXRleHQtY3RhIHAge1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbn1cblxuLyogQUMtSGVhdGluZyBJbm5lciBwYWdlcyovXG4uc2VjLWhlcm8tYmFubmVyLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4uc2VjLWhlcm8tYmFubmVyLWlubmVyIC5iYW5uZXItd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zZWMtaGVyby1iYW5uZXItaW5uZXIgLm1lZGlhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTglO1xuICB0b3A6IDA7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMjVweCk7XG4gIHdpZHRoOiA1NiU7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zZWMtaGVyby1iYW5uZXItaW5uZXIgLm1lZGlhIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogdG9wO1xufVxuXG4uc2VjLWhlcm8tYmFubmVyLWlubmVyIC5tZWRpYSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5zZWMtaGVyby1iYW5uZXItaW5uZXIgLmNhcHRpb24ge1xuICBwYWRkaW5nOiAxMzBweCAwIDEwMHB4IGNhbGMoKDEwMHZ3IC0gMTQxMHB4KSAvIDIpO1xuICB3aWR0aDogNTguMzMlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc2VjLWhlcm8tYmFubmVyLWlubmVyIC5jYXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IC0xMTBweDtcbiAgYm90dG9tOiAtMjVweDtcbiAgYmFja2dyb3VuZDogIzhDMjgyNDtcbiAgdHJhbnNmb3JtOiBza2V3WCgtMThkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG59XG5cbi5zZWMtaGVyby1iYW5uZXItaW5uZXIgaDEge1xuICBmb250LXNpemU6IDEwNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAwLjg1ODQ5O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnNlYy1oZXJvLWJhbm5lci1pbm5lciBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzNXB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjUxNDI5O1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1heC13aWR0aDogOTUlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gIC5zZWMtaGVyby1iYW5uZXItaW5uZXIgLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwMHB4IDMwcHggNjBweCA2MHB4O1xuICAgIHdpZHRoOiA1MyU7XG4gIH1cbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciAubWVkaWEge1xuICAgIHdpZHRoOiA2NyU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAuc2VjLWhlcm8tYmFubmVyLWlubmVyIGgxIHtcbiAgICBmb250LXNpemU6IDgwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMC44NzU7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgfVxuICAuc2VjLWhlcm8tYmFubmVyLWlubmVyIGgyIHtcbiAgICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gIC5zZWMtaGVyby1iYW5uZXItaW5uZXIgLm1lZGlhIGltZyB7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuc2VjLWhlcm8tYmFubmVyLWlubmVyIC5tZWRpYSB7XG4gICAgcmlnaHQ6IC0xMiU7XG4gIH1cbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciAuY2FwdGlvbiB7XG4gICAgcGFkZGluZzogNjBweCAwcHggMzBweCAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciAuYmFubmVyLXdyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5zZWMtaGVyby1iYW5uZXItaW5uZXIgLm1lZGlhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5zZWMtaGVyby1iYW5uZXItaW5uZXIgLmNhcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA2MHB4IDMwcHg7XG4gIH1cbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciAuY2FwdGlvbjo6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIC5zZWMtaGVyby1iYW5uZXItaW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogNzJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwLjg0NzIyO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5zZWMtaGVyby1iYW5uZXItaW5uZXIgaDEgYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjg1NzE7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VjLWhlcm8tYmFubmVyLWlubmVyIGgxIHtcbiAgICBmb250LXNpemU6IDY0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMC43OTY4ODtcbiAgfVxuICAuc2VjLWhlcm8tYmFubmVyLWlubmVyIGgyIHtcbiAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zMzMzMztcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiA1MnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDAuODA3Njk7XG4gIH1cbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnNlYy1oZXJvLWJhbm5lci1pbm5lciAuY2FwdGlvbiB7XG4gICAgcGFkZGluZzogNjBweCAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MTNweCkge1xuICAuc2VjLWhlcm8tYmFubmVyLWlubmVyIGgxIHtcbiAgICBmb250LXNpemU6IDQ2cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMC43ODI2MTtcbiAgfVxufVxuXG4uc2VjLXBhcmFnb24tcXVlZW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xufVxuXG4uc2VjLXBhcmFnb24tcXVlZW4gZmlndXJlLndwLWJsb2NrLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VjLXBhcmFnb24tcXVlZW4gLnRleHQtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXgtd2lkdGg6IDg2MHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5zZWMtcGFyYWdvbi1xdWVlbiAudGV4dC13cmFwID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWMtcGFyYWdvbi1xdWVlbiAudGV4dC13cmFwIGgyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5zZWMtcGFyYWdvbi1xdWVlbiAudGV4dC13cmFwIGgzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLnNlYy1wYXJhZ29uLXF1ZWVuIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgMzBweDtcbiAgfVxuICAuc2VjLXBhcmFnb24tcXVlZW4gZmlndXJlLndwLWJsb2NrLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zZWMtcGFyYWdvbi1xdWVlbiAudGV4dC13cmFwIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5zZWMtcGFyYWdvbi1xdWVlbiAudGV4dC13cmFwIGgyIHtcbiAgICBjb2xvcjogIzk5MUIxRTtcbiAgfVxuICAuc2VjLXBhcmFnb24tcXVlZW4gLnRleHQtd3JhcCBoMyB7XG4gICAgY29sb3I6ICMzQzNDM0M7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5zZWMtcGFyYWdvbi1xdWVlbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLyogRHVjdCBDbGVhbmluZyAqL1xuLnNsaWRlci1iZWZvcmUtYWZ0ZXIgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciAuc2xpY2stbGlzdCB7XG4gIHdpZHRoOiA5NCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uc2xpZGVyLWJlZm9yZS1hZnRlciA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIC5zbGljay1saXN0IC5zbGljay1zbGlkZSBpbWcge1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnNsaWRlci1iZWZvcmUtYWZ0ZXIgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciAuc2xpY2stYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDUlO1xufVxuXG4uc2xpZGVyLWJlZm9yZS1hZnRlciA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyIC5zbGljay1hcnJvdy5zbGljay1wcmV2IHtcbiAgbGVmdDogMDtcbn1cblxuLnNsaWRlci1iZWZvcmUtYWZ0ZXIgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLnNsaWRlci1iZWZvcmUtYWZ0ZXIgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTEwcHg7XG4gIH1cbiAgLnNsaWRlci1iZWZvcmUtYWZ0ZXIgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciAuc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0xMHB4O1xuICB9XG59XG4iLCIkY29sb3ItcHJpbWFyeTogIzk5MUIxRTtcbiRjb2xvci1wcmltYXJ5LWhvdmVyOiAjQTYwNzBDO1xuJGNvbG9yLXBhcmFnb24tcmVkOiAjOEMyODI0O1xuJGNvbG9yLXBhcmFnb24tcmVkLXNlY29uZGFyeTogIzhDMjgyNTtcbiRjb2xvci1zZWNvbmRhcnk6ICMyMTIxMjE7XG4kY29sb3Itc3VjY2VzczogIzNhZGI3NjtcbiRjb2xvci1hbGVydDogI2NjNGIzNztcbiRjb2xvci13YXJuaW5nOiAjY2M4YjAwO1xuJGNvbG9yLWRhcms6ICMzMzM7XG4kY29sb3ItbGlnaHQ6ICNmOGY4Zjg7XG4kY29sb3Itd2hpdGU6ICNmZmY7XG4kY29sb3ItYmxhY2s6ICMwMDA7XG4kY29sb3ItZ3JleTogIzNDM0MzQztcbiRjb2xvci1saWdodC1ncmV5OiAjZWFlYWVhO1xuJGNvbG9yLWxpZ2h0LWJsdWU6ICM4M2M4ZDc7XG5cblxuJGJvZHktZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbiRib2R5LWZvbnQtc2l6ZTogMTZweDtcblxuJGhlYWRpbmctZm9udC1mYW1pbHk6ICdUZWtvJywgc2Fucy1zZXJpZjtcblxuJHBhcmFncmFwaC1mb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xuJHBhcmFncmFwaC1mb250LXNpemU6IDE4cHg7XG4kcGFyYWdyYXBoLWxpbmUtaGVpZ2h0OiAyNnB4O1xuJHBhcmFncmFwaC1jb2xvcjogJGNvbG9yLWdyZXk7XG4kcGFyYWdyYXBoLWZvbnQtd2VpZ2h0OiA0MDA7XG5cbiRidXR0b24tZm9udC1mYW1pbHk6ICdUZWtvJywgc2Fucy1zZXJpZjtcblxuXG4vKiBGT1VOREFUSU9OIFZBUklBQkxFUyAqL1xuJGdyaWQtY29udGFpbmVyOiAxNDQwcHg7XG5cbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogJGNvbG9yLXByaW1hcnksXG4gIHNlY29uZGFyeTogJGNvbG9yLXNlY29uZGFyeSxcbiAgc3VjY2VzczogJGNvbG9yLXN1Y2Nlc3MsXG4gIHdhcm5pbmc6ICRjb2xvci13YXJuaW5nLFxuICBhbGVydDogJGNvbG9yLWFsZXJ0LFxuKSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcbiRidXR0b24tcmFkaXVzOiAzcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gICAgdGlueTogMC42cmVtLFxuICAgIHNtYWxsOiAwLjc1cmVtLFxuICAgIGRlZmF1dDogMTZweCwgLy8gZGVmYXVsdDogMC45cmVtLFxuICAgIGxhcmdlOiAxLjI1cmVtXG4pICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nOiAxNS40cHggMjdweDtcbiRidXR0b24tZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcblxuJGlucHV0LXNoYWRvdzogbm9uZTsiLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoKTtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkZ3JpZC1jb2x1bW5zLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgd2lkdGggd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXhgIG5vdCBvbiBgLmdyaWQteGBcbiAgLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi15YCBub3Qgb24gYC5ncmlkLXlgXG4gIC5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1peGluIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkY2xhc3MtYnJlYWtwb2ludCwgJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWwpIHtcbiAgJHByZWZpeDogaWYoJGNsYXNzLWJyZWFrcG9pbnQgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQsICcnLCAnI3skY2xhc3MtYnJlYWtwb2ludH0tJyk7XG4gID4gLiN7JHByZWZpeH1hdXRvIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgPiAuI3skcHJlZml4fXNocmluayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgJGNsYXNzbmFtZTogaWYoJHZlcnRpY2FsLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9JywgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScpO1xuXG4gICAgPiAjeyRjbGFzc25hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktbWFyZ2luLWdyaWQtY2xhc3NlcyhcbiAgJGd1dHRlci1wb3NpdGlvbjogbGVmdCByaWdodCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJHdyYXBwaW5nLXNlbGVjdG9yOiAnLmdyaWQtbWFyZ2luLXgnXG4pe1xuICAjeyR3cmFwcGluZy1zZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiAkZ3V0dGVyLXBvc2l0aW9uKTtcblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBiYXNlIHN0eWxlcyBuZWVkIHRvIGFsbCBiZSBiZWZvcmUgdGhlIGF1dG8gYW5kIHNocmluayBzdHlsZXNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSBhbmQgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAvLyBmb3IgYWxsIHByaW9yIGJyZWFrcG9pbnRzLlxuICAgICAgLy8gQXMgdGhlaXIgZ3V0dGVyIGlzIGRlZmluZWQgd2l0aCB0aGVpciB3aWR0aC9oZWlnaHQsIGV2ZW4gYnJlYWtwb2ludCB3aXRob3V0IGEgbmV3IG1hcmdpbiBtdXN0IGJlXG4gICAgICAvLyBnZW5lcmF0ZWQgdG8gbm90IGhhdmluZyB0aGVpciB3aWR0aC9oZWlnaHQgb3ZlcnJpZGVkIGJ5IHJlLWFkanVzdGVkIHNtYWxsZXIgYnJlYWtwb2ludHMuXG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkYnAsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJC16Zi1zaXplLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhZGRpbmcgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktcGFkZGluZy1ncmlkLWNsYXNzZXMge1xuICAuZ3JpZC1wYWRkaW5nLXgge1xuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgZ3JpZHMgd2l0aGluIGBncmlkLWNvbnRhaW5lci9ncmlkLWNvbnRhaW5lci5mbHVpZGBcbiAgICAvLyBUaGlzIGFsbG93cyBtYXJnaW4gYW5kIHBhZGRpbmcgZ3JpZHMgdG8gbGluZSB1cCB3aXRoIGVhY2hvdGhlclxuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gJiB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCbG9jayBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgICAvLyBmb3IgcHJpb3IgYnJlYWtwb2ludHMgYmFzZWQgb24gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyLlxuICAgICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgICBAaWYobWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRicCkpIHtcbiAgICAgICAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skYnB9LXVwLSN7JGl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLmdyaWQtbWFyZ2luLXguI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sbGFwc2UgY2xhc3Nlc1xuQG1peGluIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgICAgLiN7JGJwfS1tYXJnaW4tY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogbWFyZ2luLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgICAgLiN7JGJwfS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gT2Zmc2V0IGNsYXNzZXNcbkBtaXhpbiB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5ncmlkLW1hcmdpbi14ID4gLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcyhcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlXG4pIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgfVxuICB9XG5cbiAgLmdyaWQteSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZCh2ZXJ0aWNhbCwgZmFsc2UpO1xuXG5cbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtcmVzZXQoKTtcbiAgICB9XG5cbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnAtaXMtZmFsbGJhY2s6IGZhbHNlO1xuXG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICAgICRicC1pcy1mYWxsYmFjazogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciBmb3IgdGhlIGdpdmVuIGJyZWFrcG9pbnQvdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgZmFsbGJhY2ssIHVzZSBhIGZhbGxiYWNrIGd1dHRlciBhcyB3ZWxsXG4gIEBpZiAoJGJwLWlzLWZhbGxiYWNrID09IHRydWUgYW5kICRndXR0ZXIgPT0gbnVsbCkge1xuICAgICRndXR0ZXI6IDA7XG4gIH1cblxuICBAaWYoJGd1dHRlciAhPSBudWxsKSB7XG4gICAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gICAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiLCBjZWxsIHdhcyBub3QgZ2VuZXJhdGVkYCdcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIFNlZSBgLXpmLWJyZWFrcG9pbnQtdmFsdWUoKWAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJGd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItbWFyZ2luID09IDAsICN7eHktY2VsbC1zaXplKCRuKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlci1tYXJnaW59KSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb2dyZXNzLWJhclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHByb2dyZXNzIGJhcidzIG1ldGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcbiAgcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgc2V0cyB0aGUgZmlsbCB3aXRoIGNvbG9yXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvciBJRSBhbmQgRWRnZVxuICAgICY6Oi1tcy1maWxsIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPSdyYW5nZSddIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXG4gICAgfVxuICB9XG5cbiAgLnJhZGl1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcm91bmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXJhZGl1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlcmVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXJlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItd2lkdGhgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci10eXBlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1jb2xvcmAgZGVmYXVsdGVkIHRvIGBtZWRpdW0tZ3JheWBcbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlcmVkIFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtYm9yZGVyLXdpZHRoXSBXaWR0aCBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0eXBlIFskcHJvdG90eXBlLWJvcmRlci10eXBlXSBUeXBlIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXSBDb2xvciBvZiB0aGUgYm9yZGVyXG5AbWl4aW4gYm9yZGVyZWQoXG4gICR3aWR0aDogJHByb3RvdHlwZS1ib3JkZXItd2lkdGgsXG4gICR0eXBlOiAkcHJvdG90eXBlLWJvcmRlci10eXBlLFxuICAkY29sb3I6ICRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXG4pIHtcbiAgYm9yZGVyOiAkd2lkdGggJHR5cGUgJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQge1xuICAuYm9yZGVyZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XG4vLy8vXG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG5cbi8vLyBDb2xvciBvZiB0aGUgQXJyb3csIGAkYmxhY2tgIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93IHtcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcbiAgICAuYXJyb3ctI3skcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWNvbG9yLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2VwYXJhdG9yXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhbGlnbm1lbnQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRvcCBNYXJnaW4gb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRpdGxlIHNlcGFyYXRvciBVdGlsaXR5LCBtb3N0bHkgdXNlZCB0byBzdHlsZSB0aGUgbWFpbiBoZWFkaW5nIG9mIGEgc2VjdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYWxpZ24gWyRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduXSAtIHNlcGFyYXRvciBBbGlnbm1lbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0XSAtIFdpZHRoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGhdIC0gSGVpZ2h0XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFskcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXSAtIE1hcmdpbiBUb3BcbkBtaXhpbiBzZXBhcmF0b3IgKFxuICAkYWxpZ246ICRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduLFxuICAkaGVpZ2h0OiAkcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQsXG4gICR3aWR0aDogJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGgsXG4gICRiYWNrZ3JvdW5kOiAkcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kLFxuICAkdG9wOiAkcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXG4pIHtcbiAgdGV4dC1hbGlnbjogJGFsaWduICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSk7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogJHRvcCBhdXRvIDA7XG5cbiAgICBAaWYgJGFsaWduID09IGxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yIHtcblx0LnNlcGFyYXRvci1jZW50ZXIge1xuXHRcdEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuXHR9XG5cbiAgLnNlcGFyYXRvci1sZWZ0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gIH1cblxuICAuc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICB9XG5cblx0QGlmICgkcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1jZW50ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgcG9zaXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgZml4ZWQgcG9zaXRpb25pbmdcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb24gY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1wb3NpdGlvbmAsIHdoZXJlYXMgYWxsIHRoZSBvZmZzZXQgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBvc2l0aW9uYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gVG9wIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUmlnaHQgb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBMZWZ0IG9mZnNldFxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHRvcDogJHRvcCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBsZWZ0OiAkbGVmdCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLXRvcGBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC10b3AoXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwgMCwgbnVsbCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLWJvdHRvbWBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC1ib3R0b20oXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xuICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgfVxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBvdmVyZmxvd2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKSAhZGVmYXVsdDtcblxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzXG5AbWl4aW4gb3ZlcmZsb3coJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAoaG9yaXpvbnRhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXgoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAodmVydGljYWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy15KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgIC5vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBkaXNwbGF5YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8vIERpc3BsYXkgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1kaXNwbGF5YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcbkBtaXhpbiBkaXNwbGF5KCRkaXNwbGF5KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5IHtcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ub25lXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgbm9uZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBub25lIHV0aWxpdHlcbkBtaXhpbiBib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmUge1xuICAuYm9yZGVyLW5vbmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLW5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2l6aW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzaXppbmdgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXggV2lkdGggMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vLy8gTWF4IEhlaWdodCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZyB7XG4gIC8vIEVsZW1lbnQgU2l6aW5nXG4gIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgLiN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTWF4IHdpZHRoICYgaGVpZ2h0XG4gIC5tYXgtd2lkdGgtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgtMTAwO1xuICB9XG4gIC5tYXgtaGVpZ2h0LTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodC0xMDA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICAgICAgICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgICAgICAgICAuI3skc2l6ZX0tI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAvLyBUb3AgU2lkZVxuICAgICAgICAuI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0ge1xuICAgICAgICAgICAgICBAZWFjaCAkcHJvcCBpbiAobWFyZ2luLCBwYWRkaW5nKSB7XG4gICAgICAgICAgICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAgICAgICAgICAgJi0jeyRwcm9wfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiXG4vKiAgRm9udCBJY29uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICBzcmM6ICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uZW90P2I1YTlzcicpO1xuICBzcmM6ICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uZW90P2I1YTlzciNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24udHRmP2I1YTlzcicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24ud29mZj9iNWE5c3InKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uc3ZnP2I1YTlzciNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5cbi5pY29uLWNoZXZlcm9uLWxlZnQ6YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljb24tY2hldmVyb24tcmlnaHQ6YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZTkwMlwiO1xufVxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuLmljb24tcGhvbmU6YmVmb3Jle1xuICBjb250ZW50OiBcIlxcZTk0MlwiO1xufVxuIiwiJGZvbnRfd2VpZ2h0czogKFxuICAgIGZ3LWV4dHJhbGlnaHQ6IDIwMCxcbiAgICBmdy1saWdodDogMzAwLFxuICAgIGZ3LXJlZ3VsYXI6IDQwMCxcbiAgICBmdy1tZWRpdW06IDUwMCxcbiAgICBmdy1zZW1pYm9sZDogNjAwLFxuICAgIGZ3LWJvbGQ6IDcwMCxcbiAgICBmdy1leHRyYWJvbGQ6IDgwMCxcbiAgICBmdy1ibGFjazogOTAwXG4pO1xuQGVhY2ggJGlkLCAkdmFsdWUgaW4gJGZvbnRfd2VpZ2h0cyB7XG4gICAgLiN7JGlkfXtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4kdGV4dF9jb2xvcnM6IChcbiAgICB0Yy1wcmltYXJ5OiAkY29sb3ItcHJpbWFyeSxcbiAgICB0Yy1zZWNvbmRhcnk6ICRjb2xvci1zZWNvbmRhcnksXG4gICAgdGMtZGFyazogJGNvbG9yLWRhcmssXG4gICAgdGMtd2hpdGU6ICNmZmZcbik7XG5AZWFjaCAkaWQsICR2YWx1ZSBpbiAkdGV4dF9jb2xvcnMge1xuICAgIC4jeyRpZH17XG4gICAgICAgIGNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuJGJhY2tncm91bmRfY29sb3JzOiAoXG4gICAgYmMtcHJpbWFyeTogJGNvbG9yLXByaW1hcnksXG4gICAgYmMtc2Vjb25kYXJ5OiAkY29sb3Itc2Vjb25kYXJ5LFxuICAgIGJjLWRhcms6ICRjb2xvci1kYXJrXG4pO1xuQGVhY2ggJGlkLCAkdmFsdWUgaW4gJGJhY2tncm91bmRfY29sb3JzIHtcbiAgICAuI3skaWR9e1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLnRkLXVuZGVybGluZXsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudCB9XG5cbi5mdWxsLWh7IG1pbi1oZWlnaHQ6IDEwMHZoIH1cblxuLnRleHQtbGFyZ2V7IGZvbnQtc2l6ZTogMjZweCB9XG5cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAyMHtcbiAgICAub3JkZXItI3skaX17XG4gICAgICAgIG9yZGVyOiAjeyRpfSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vKiBNb2JpbGUgdG8gRGVza3RvcFxuKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AaW5jbHVkZSBtZWRpYShtaW4td2lkdGgsIDEwMjRweCl7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAyMHtcbiAgICAgICAgLm9yZGVyLWxnLSN7JGl9e1xuICAgICAgICAgICAgb3JkZXI6ICN7JGl9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogRGVza3RvcCB0byBNb2JpbGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxNTM2cHgpe1xuICAgIC50ZXh0LWxhcmdleyBmb250LXNpemU6IDI0cHggfVxufVxuXG5AaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XG4gICAgLnRleHQtbGFyZ2V7IGZvbnQtc2l6ZTogMjFweCB9XG59IiwiLy8gTUVESUEgUVVFUllcbkBtaXhpbiBtZWRpYSgkcmVzLCAkc2l6ZSl7XG4gICAgJGl0ZW1zOiAobWF4LXdpZHRoLCBtYXgtaGVpZ2h0LCBtaW4td2lkdGgsIG1pbi1oZWlnaHQpO1xuXG4gICAgQGlmIChpbmRleCgkaXRlbXMsICRyZXMpKXtcbiAgICAgICAgQG1lZGlhICgjeyRyZXN9OiAkc2l6ZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gfVxuXG5cbi8vIEFOSU1BVElPTlxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0ZS4uLikge1xuICAgICRtYXg6IGxlbmd0aCgkYW5pbWF0ZSk7XG4gICAgJGFuaW1hdGlvbnM6ICcnO1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAgICAgJGFuaW1hdGlvbnM6ICN7JGFuaW1hdGlvbnMgKyBudGgoJGFuaW1hdGUsICRpKX07XG5cbiAgICAgICAgQGlmICRpIDwgJG1heCB7XG4gICAgICAgICAgICAkYW5pbWF0aW9uczogI3skYW5pbWF0aW9ucyArIFwiLCBcIn07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb25zO1xuICAgIC1tb3otYW5pbWF0aW9uOiAgICAkYW5pbWF0aW9ucztcbiAgICAtby1hbmltYXRpb246ICAgICAgJGFuaW1hdGlvbnM7XG4gICAgYW5pbWF0aW9uOiAgICAgICAgICRhbmltYXRpb25zO1xufVxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uTmFtZSkge1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICBALW1vei1rZXlmcmFtZXMgI3skYW5pbWF0aW9uTmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgQC1vLWtleWZyYW1lcyAjeyRhbmltYXRpb25OYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICBAa2V5ZnJhbWVzICN7JGFuaW1hdGlvbk5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vICBGdW5jdGlvbiB0byByZW1vdmUgdW5pdHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkbnVtYmVyKSB7XG4gICAgQHJldHVybiAkbnVtYmVyIC8gKCRudW1iZXIgKiAwICsgMSk7XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIEZvbnQvTGluZSBIZWlnaHRcbi8vICBwYXNzIGluIHRoZSBwaG90b3Nob3AgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBpbiB0aGUgc2FtZSBvcmRlclxuLy8gIHRoZXkncmUgZGlzcGxheWVkIGluIHRoZSBjaGFyYWN0ZXIgd2luZG93XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gZm9udC1zaXplLWxpbmVoZWlnaHQoJHBzLWZvbnQtc2l6ZSwgJHBzLWxpbmUtaGVpZ2h0OiAkcHMtZm9udC1zaXplKSB7XG4gICAgZm9udC1zaXplOiAkcHMtZm9udC1zaXplICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IChzdHJpcC11bml0cygkcHMtbGluZS1oZWlnaHQpIC8gc3RyaXAtdW5pdHMoJHBzLWZvbnQtc2l6ZSkpO1xufSIsIkBpbmNsdWRlIGtleWZyYW1lcyhoZWFydEJlYXQpe1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgIDE0JSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgfVxuXG4gICAgMjglIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cblxuICAgIDQyJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgfVxuXG4gICAgNzAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuXG5AaW5jbHVkZSBrZXlmcmFtZXMoaGVhZGVySW4pe1xuICAgIGZyb217XG4gICAgICAgIHRvcDogLTEwMCU7XG4gICAgfVxuXG4gICAgdG97XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59IiwiKntcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5ib2R5e1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRib2R5LWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNvbG9yLWRhcms7XG59XG5cbmltZ3tcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2e1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMC43cHg7ICBcbn1cbmgxe1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiA3MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5oMntcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogNTlweDtcbiAgICBsaW5lLWhlaWdodDogNTdweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuaDN7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcbn1cblxuYXtcbiAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3Vze1xuICAgICAgICBjb2xvcjogbGlnaHRlbigkY29sb3Itc2Vjb25kYXJ5LCAyMCUpO1xuICAgIH1cbn1cblxucHtcbiAgICBmb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkcGFyYWdyYXBoLWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDIwLjdweDsgIFxufVxuXG5bY2xhc3NePVwid3AtY29udGFpbmVyLVwiXXtcbiAgICBnYXA6IDFlbSAwZW0gIWltcG9ydGFudDtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuLmhhcy10ZXh0LWFsaWduLWNlbnRlcntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMjc5cHgpe1xuICAgIGgxe1xuICAgICAgICBmb250LXNpemU6IDY2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3NHB4O1xuICAgIH1cbiAgICBoMntcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweDtcbiAgICB9XG4gICAgaDN7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XG4gICAgYm9keXtcbiAgICAgICAgZm9udC1zaXplOiAkYm9keS1mb250LXNpemUgKiAwLjk7XG4gICAgfVxuXG4gICAgcHtcbiAgICAgICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAqIDAuOTtcbiAgICB9XG4gICAgXG4gICAgaDJ7XG4gICAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgfVxuICAgIGgze1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcbiAgICBib2R5e1xuICAgICAgICBmb250LXNpemU6ICRib2R5LWZvbnQtc2l6ZSAqIDAuODtcbiAgICB9XG5cbiAgICBwe1xuICAgICAgICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICogMC44O1xuICAgIH1cbiAgICBcbiAgICBoMXtcbiAgICAgICAgZm9udC1zaXplOiA1NnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgICB9XG4gICAgaDJ7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIC8vIHBhZGRpbmc6IDAgMTBweDtcbiAgICB9XG4gICAgaDN7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxufVxuQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA0MTNweCl7XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgIH1cbiAgICBoMntcbiAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICB9XG59IiwiLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSB7XHJcbiAgICAuZ2Zvcm1fcmVxdWlyZWRfbGVnZW5ke1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuZ2ZpZWxkX3JlcXVpcmVke1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgO1xyXG4gICAgfVxyXG4gICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsIFxyXG4gICAgLnZhbGlkYXRpb25fbWVzc2FnZXtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjQ5LCAyNDksIDAuNyk7XHJcbiAgICAgICAgYm9yZGVyOiBub25lIDtcclxuICAgICAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxMnB4LDE4cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5IDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwIDtcclxuICAgIH1cclxuICAgIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9yc3tcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjQ5LCAyNDksIDAuNyk7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTVweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDUyMHB4O1xyXG4gICAgICAgIC5nZm9ybV9zdWJtaXNzaW9uX2Vycm9ye1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxOHB4LDI2cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5nZm9ybV9maWVsZHN7XHJcbiAgICAgICAgZ3JpZC1yb3ctZ2FwOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLmdmaWVsZF9sYWJlbHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMThweCwyM3B4KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2ZpZWxke1xyXG4gICAgICAgICAgICBbdHlwZT0ndGV4dCddLFxyXG4gICAgICAgICAgICBbdHlwZT0ncGFzc3dvcmQnXSxcclxuICAgICAgICAgICAgW3R5cGU9J2RhdGUnXSxcclxuICAgICAgICAgICAgW3R5cGU9J2RhdGV0aW1lJ10sXHJcbiAgICAgICAgICAgIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxyXG4gICAgICAgICAgICBbdHlwZT0nbW9udGgnXSxcclxuICAgICAgICAgICAgW3R5cGU9J3dlZWsnXSxcclxuICAgICAgICAgICAgW3R5cGU9J2VtYWlsJ10sXHJcbiAgICAgICAgICAgIFt0eXBlPSdudW1iZXInXSxcclxuICAgICAgICAgICAgW3R5cGU9J3NlYXJjaCddLFxyXG4gICAgICAgICAgICBbdHlwZT0ndGVsJ10sXHJcbiAgICAgICAgICAgIFt0eXBlPSd0aW1lJ10sXHJcbiAgICAgICAgICAgIFt0eXBlPSd1cmwnXSxcclxuICAgICAgICAgICAgW3R5cGU9J2NvbG9yJ10sXHJcbiAgICAgICAgICAgIHNlbGVjdHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMThweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE4cHgsMjNweCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDNEM0QzQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSUUgMTArICovXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNzc3OCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZXh0YXJlYXtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMThweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE4cHgsMjNweCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDNEM0QzQ7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5tZWRpdW17XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNlbGVjdHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlIHVybCgnLi4vaW1nL2ljbi1zZWxlY3QtY2hldnJvbi1kb3duLnN2ZycpIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk4JSAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZ2ZpZWxkX2Vycm9ye1xyXG4gICAgICAgICAgICAgICAgW3R5cGU9J3RleHQnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdwYXNzd29yZCddLFxyXG4gICAgICAgICAgICAgICAgW3R5cGU9J2RhdGUnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdkYXRldGltZSddLFxyXG4gICAgICAgICAgICAgICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nbW9udGgnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd3ZWVrJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nZW1haWwnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdudW1iZXInXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdzZWFyY2gnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd0ZWwnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd0aW1lJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0ndXJsJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nY29sb3InXSxcclxuICAgICAgICAgICAgICAgIHNlbGVjdCxcclxuICAgICAgICAgICAgICAgIHRleHRhcmVhe1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ2Zvcm1fZm9vdGVye1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGlucHV0LmJ1dHRvbntcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAzMDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMTk5cHgpe1xyXG4gICAgICAgIC5nZm9ybV9maWVsZHN7XHJcbiAgICAgICAgICAgIC5nZmllbGR7XHJcbiAgICAgICAgICAgICAgICBzZWxlY3R7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTclIDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4IDE1cHggMTNweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxNnB4LDIycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgW3R5cGU9J3RleHQnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdwYXNzd29yZCddLFxyXG4gICAgICAgICAgICAgICAgW3R5cGU9J2RhdGUnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdkYXRldGltZSddLFxyXG4gICAgICAgICAgICAgICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nbW9udGgnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd3ZWVrJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nZW1haWwnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdudW1iZXInXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdzZWFyY2gnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd0ZWwnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd0aW1lJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0ndXJsJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nY29sb3InXSxcclxuICAgICAgICAgICAgICAgIHRleHRhcmVhe1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTNweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxNnB4LDIycHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICAgICAgLmdmb3JtX2ZpZWxkc3tcclxuICAgICAgICAgICAgLmdmaWVsZHtcclxuICAgICAgICAgICAgICAgIHNlbGVjdHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5NyUgMjVweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHggMTVweCAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgW3R5cGU9J3RleHQnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdwYXNzd29yZCddLFxyXG4gICAgICAgICAgICAgICAgW3R5cGU9J2RhdGUnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdkYXRldGltZSddLFxyXG4gICAgICAgICAgICAgICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nbW9udGgnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd3ZWVrJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nZW1haWwnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdudW1iZXInXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSdzZWFyY2gnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd0ZWwnXSxcclxuICAgICAgICAgICAgICAgIFt0eXBlPSd0aW1lJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0ndXJsJ10sXHJcbiAgICAgICAgICAgICAgICBbdHlwZT0nY29sb3InXXtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEzcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDQxM3B4KXtcclxuICAgICAgICAuZ2Zvcm1fZm9vdGVye1xyXG4gICAgICAgICAgICBpbnB1dC5idXR0b257XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI2MHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuLmJ1dHRvbntcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjFweCwyNXB4KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBwYWRkaW5nOiAxOHB4IDMwcHggMTVweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjNlbTtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgei1pbmRleDogMDtcclxuICAgICY6OmJlZm9yZXtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlIDBzO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWhvdmVyO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2tldygtMTJkZWcpO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICAgICYuZGFya3tcclxuICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3Vze1xyXG4gICAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5pbnZlcnNle1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3Vze1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDI1cHggMTFweCAzMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICAgICAgLy8gcGFkZGluZzogMThweCAyNHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA0MTNweCl7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcclxuICAgIH1cclxufVxyXG5cclxuaW5wdXQuYnV0dG9ue1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3Vze1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA0MTNweCl7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMThweCwyNHB4KTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yNWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4ub2ZmZXItd3JhcHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgcGFkZGluZzogMTdweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAub2ZmZXItaXRlbS13cmFwe1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzRDNEM0O1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMCAzNXB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIC5oZWFkZXItd3JhcHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTclO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHdpZHRoPSc5OCUyNScgaGVpZ2h0PScxMDAlMjUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NyZWN0IHdpZHRoPSc5OCUyNScgaGVpZ2h0PScxMDAlMjUnIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nNCcgc3Ryb2tlLWRhc2hhcnJheT0nMS41JTJjOCcgc3Ryb2tlLWRhc2hvZmZzZXQ9JzAnIHN0cm9rZS1saW5lY2FwPSdidXR0Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBsYWJlbCxzcGFue1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDExMHB4LDEwMHB4KTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoNjBweCw1N3B4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoM3tcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg1OXB4LDU3cHgpO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMjBweDtcclxuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgICAgIC50ZXh0LXRvcC13cmFwe1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDIycHgsMzBweCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICYudGV4dC1sYXJnZSxcclxuICAgICAgICAgICAgICAgIHN0cm9uZ3tcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDMwcHgsMzhweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAmLnBhZGRlZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNTRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjNweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnRleHQtbWluaXtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxNnB4LDI0cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZCMEIyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRleHQtYm90dG9tLXdyYXB7XHJcbiAgICAgICAgICAgICAgICBhLmJ1dHRvbntcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b257XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJi53aGl0ZXtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAxNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcclxuICAgICAgICAmID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vZmZlci1pdGVtLXdyYXB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICYgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwcHggMzBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5oZWFkZXItd3JhcHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTEwcHgsMTAwcHgpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAmID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC50ZXh0LXRvcC13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICAmLnRleHQtbGFyZ2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudGV4dC1ib3R0b20td3JhcHtcclxuICAgICAgICAgICAgICAgICAgICBhLmJ1dHRvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICAub2ZmZXItaXRlbS13cmFwe1xyXG4gICAgICAgICAgICBoMntcclxuICAgICAgICAgICAgICAgIGxhYmVse1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDkwcHgsODBweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzcGFue1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDQ4cHgsNDVweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg0MnB4LDQ4cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5oZWFkZXItd3JhcHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI4MHB4O1xyXG4gICAgICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxOHB4LDI2cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICYudGV4dC1sYXJnZSxcclxuICAgICAgICAgICAgICAgICAgICBzdHJvbmd7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDI2cHgsMzJweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYudGV4dC1taW5pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxNHB4LDIycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC50ZXh0LWJvdHRvbS13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgIGEuYnV0dG9ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2hpdGV7XHJcbiAgICAgICAgICAgIC5vZmZlci1pdGVtLXdyYXB7XHJcbiAgICAgICAgICAgICAgICA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDBweCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgICAgICA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAudGV4dC10b3Atd3JhcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoMntcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg5MHB4LDgwcHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDExOTlweCl7XHJcbiAgICAgICAgLm9mZmVyLWl0ZW0td3JhcHtcclxuICAgICAgICAgICAgLmhlYWRlci13cmFwe1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIC5vZmZlci1pdGVtLXdyYXB7XHJcbiAgICAgICAgICAgIC5oZWFkZXItd3JhcHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyNDBweDtcclxuICAgICAgICAgICAgICAgIC50ZXh0LXRvcC13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudGV4dC1ib3R0b20td3JhcHtcclxuICAgICAgICAgICAgICAgICAgICBhLmJ1dHRvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA3NjdweCl7XHJcbiAgICAgICAgLm9mZmVyLWl0ZW0td3JhcCB7XHJcbiAgICAgICAgICAgIC8vIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGgye1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoODBweCw3MHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDMycHgsNDBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmhlYWRlci13cmFwe1xyXG4gICAgICAgICAgICAgICAgLy8gbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGV4dC13cmFwIHtcclxuICAgICAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgIHN0cm9uZ3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjRweCwzMnB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi53aGl0ZXtcclxuICAgICAgICAgICAgLm9mZmVyLWl0ZW0td3JhcHtcclxuICAgICAgICAgICAgICAgIGgye1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDgwcHgsNzBweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgzMnB4LDQwcHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50ZXh0LXdyYXAge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3Ryb25ne1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyNHB4LDMycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNDEzcHgpe1xyXG4gICAgICAgIHBhZGRpbmc6IDEzcHg7XHJcbiAgICAgICAgLm9mZmVyLWl0ZW0td3JhcHtcclxuICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICBsYWJlbHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg5MHB4LDgwcHgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgICYudGV4dC1taW5pe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxM3B4LDIxcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC50ZXh0LWJvdHRvbS13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgIGEuYnV0dG9ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZXh0LWJvdHRvbS13cmFwe1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ1dHRvbntcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5pY24tcGhvbmUtcmVke1xyXG4gICAgY29udGVudDogdXJsKCcuLi9pbWcvaWNuLXBob25lLXJlZC5zdmcnKTtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG59XHJcblxyXG4vKiBUcnVzdGluZGV4IE92ZXJ3cml0ZXMqL1xyXG4udGktd2lkZ2V0LnRpLWdvb2cgLnRpLXJldmlldy1jb250ZW50e1xyXG4gICAgOmJlZm9yZXtcclxuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4uZ29vZ2xlLXJldmlld3Mge1xyXG4gICAgLnRpLXdpZGdldC50aS1nb29nIC50aS1yZXZpZXctY29udGVudHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB0b3A6IC01MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC50aS1pbm5lciAudGktcmV2aWV3LXRleHR7XHJcbiAgICAgICAgLy8gICAgIG92ZXJmbG93LXk6IHNjcm9sbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICAudGktd2lkZ2V0LnRpLWdvb2cgLnRpLWNvbnRyb2xzLWRvdHN7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgICAgIC5kb3R7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0cHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDRweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICYuYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRpLXdpZGdldC50aS1nb29nIC50aS1jb250cm9sc3tcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHRvcDogNDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC50aS1uZXh0e1xyXG4gICAgICAgICAgICByaWdodDogLTIwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNUY1RjVGICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpLXByZXZ7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0yMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzVGNUY1RiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTE5OXB4KXtcclxuICAgICAgICAgICAgLnRpLW5leHR7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGktcHJldntcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgICAgICAudGktbmV4dHtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aS1wcmV2e1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLTE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIC50aS1uZXh0e1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRpLXByZXZ7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5pY24tY2hldnJvbi1yaWdodHtcclxuICAgIGNvbnRlbnQ6IHVybCgnLi4vaW1nL2ljbi1jaGV2cm9uLXJpZ2h0LnN2ZycpO1xyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbn1cclxuLmljbi1jaGV2cm9uLWxlZnR7XHJcbiAgICBjb250ZW50OiB1cmwoJy4uL2ltZy9pY24tY2hldnJvbi1yaWdodC5zdmcnKTtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxufVxyXG5cclxuLmltYWdlLXdyYXAtYmctbG9nbyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ltZy1iZy1sb2dvLnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xyXG4gICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGltZ3tcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogQ1VTVE9NIENTUyAqL1xyXG4uYmctZ3JheSB7YmFja2dyb3VuZDogJGNvbG9yLWRhcms7fVxyXG4uYmctZ3JheSBoMiB7Y29sb3I6JGNvbG9yLXdoaXRlO31cclxuLmJnLXJlZCB7YmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7fVxyXG4uYmctcmVkIGgyIHtjb2xvcjokY29sb3Itd2hpdGU7fVxyXG4uYmctdGV4dHVyZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvaW1nLWJnLW1vZGVsLWV4Y2VsbGVuY2UuanBnXCIpIGNlbnRlciBuby1yZXBlYXQ7IFxyXG4gICAgLy8gYmFja2dyb3VuZC1zaXplOiAxMDAlIDk2JTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6YmVmb3Jle1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgwLDAsMCwwKSAzMCUsIHJnYmEoMCwwLDAsMCkgNzAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpO1xyXG4gICAgfVxyXG59XHJcbiIsIi5oZWFkZXJ7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgaGVpZ2h0OiAxMjJweCAhaW1wb3J0YW50O1xyXG4gICAgJi5oZWFkZXItc3RpY2t5e1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIH1cclxuICAgIC5zdGlja3l7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJi5ob21lLXN0aWNreXtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICYuaXMtc3R1Y2t7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnViYXJ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgLm1lbnViYXItd3JhcHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWVudS13cmFwe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA4MCU7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb2dve1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI5MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxNHB4LDI2cHgpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1saWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDcwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZW51e1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICAgICAgZmxleC1iYXNpczogODMlO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IDBweCA0MHB4IDAgMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTZweCwxOXB4KTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudHtcclxuICAgICAgICAgICAgICAgICAgICA+IGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljbi1jaGV2cm9uLWRvd24uc3ZnKSBjZW50ZXIgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdWwuc3VibWVudXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuaXMtYWN0aXZle1xyXG4gICAgICAgICAgICAgICAgICAgIHVsLnN1Ym1lbnV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHVsLmlzLWRyb3Bkb3duLXN1Ym1lbnV7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMzBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDE1cHggMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAxNXB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBsaXtcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTFweCAzNXB4IDdweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyMHB4LDM2cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yM2VtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlIDBzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5waG9uZS13cmFwe1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwe1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDM2cHgsNDRweCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjBweCwxOXB4KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTQzOXB4KXtcclxuICAgICAgICAubWVudWJhcntcclxuICAgICAgICAgICAgLmxvZ297XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tZW51e1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5waG9uZS13cmFwe1xyXG4gICAgICAgIC8vICAgICBwe1xyXG4gICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjhweCwzMnB4KTtcclxuICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1ib3R0b206IDBcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgICBhe1xyXG4gICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjhweCwzMnB4KTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICBoZWlnaHQ6IDg4cHggIWltcG9ydGFudDtcclxuICAgICAgICAubWVudWJhciB7XHJcbiAgICAgICAgICAgIC5sb2dve1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVudSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTZweCwyNHB4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpe1xyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMTJweCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxOHB4LDI2cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5waG9uZS13cmFwe1xyXG4gICAgICAgICAgICBwLGF7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyMHB4LDI0cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdGlja3l7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAgICAgLm1lbnViYXJ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgLm1lbnV7XHJcbiAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAuc2hvdy1tZW51e1xyXG4gICAgICAgIC5tb2JtZW51LFxyXG4gICAgICAgIC5oYW1idXJnZXJ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNtb2JuYXYge1xyXG4gICAgICAgICAgICBib3R0b206IDBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmhlYWRlcntcclxuICAgICAgICAgICAgLnN0aWNreXtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjbW9ibmF2IHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiA4OHB4O1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1saWdodC1ncmV5O1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTRweCwxOXB4KTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTdweCAyMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXN7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudHtcclxuICAgICAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5zZWxlY3RlZHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXN7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgICAgICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gfiBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHVsLmlzLWFjY29yZGlvbi1zdWJtZW51e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeS1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zb2NpYWwtbWVkaWEtd3JhcHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDVweCAwO1xyXG4gICAgICAgICAgICBsYWJlbHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyMHB4LDIwcHgpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdWx7XHJcbiAgICAgICAgICAgICAgICAmLnNvY2lhbC1tZWRpYXtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJtZW51LXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUzcHg7XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY24tY2hldnJvbi1yaWdodC13aGl0ZS5zdmcpIGNlbnRlci8yMCUgbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUzcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYgKyBhe1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC5tb2JtZW51LXdyYXB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAubW9ibWVudSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAyMXB4O1xyXG4gICAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oYW1idXJnZXJ7XHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAyMXB4O1xyXG4gICAgICAgIGhlaWdodDogMTdweDtcclxuICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vYmlsZS1yaWdodC1wYW5lbHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIG1heC13aWR0aDogMTgwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLnBob25lLXdyYXB7XHJcbiAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBpe1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICBcclxuICAgIC5tb2JpbGUtcmlnaHQtcGFuZWx7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNjVweDtcclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDQxM3B4KXtcclxuICAgIC5tb2JpbGUtcmlnaHQtcGFuZWx7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAucGhvbmUtd3JhcHtcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgc3BhbntcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaXtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLmZvb3RlcntcbiAgICAuY29weXJpZ2h0LXdyYXB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgcHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE2cHgsMTRweCk7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZ3JpZC13cmFwe1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NjBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGxhYmVse1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTZweCwxNHB4KTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudG9wLWZvb3RlcntcbiAgICAgICAgcGFkZGluZzogMTMwcHggMCA1MHB4O1xuICAgICAgICAuZ3JpZC1jb250YWluZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgPiBkaXZ7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDUlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUzJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubG9nb3tcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg0MHB4LDQ4cHgpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxhYmVse1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjFweCwzOHB4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgLmxvY2FsLW9mZmljZXtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE2cHgsMjRweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE2cHgsMjRweCk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucXVpY2stbGlua3N7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiA2MCU7XG4gICAgICAgICAgICAubWVudXtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTZweCwyNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvbGxvdy11c3tcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICAuc29jaWFsLWxpbmt7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgJi5mYntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MjY3QjI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5pbnN0YXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5saW5rZWRpbntcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3QjU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5nb29nbGVtYXB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUE0MzM1O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN2Z1tkYXRhLXVzZV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxNDM5cHgpe1xuICAgICAgICAudG9wLWZvb3RlcntcbiAgICAgICAgICAgIC5sb2dve1xuICAgICAgICAgICAgICAgIGltZ3tcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzJweCwzNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEyNzlweCl7XG4gICAgICAgIC50b3AtZm9vdGVye1xuICAgICAgICAgICAgLmdyaWQtY29udGFpbmVye1xuICAgICAgICAgICAgICAgID4gZGl2e1xuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxvZ297XG4gICAgICAgICAgICAgICAgaW1ne1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyNnB4LDM0cHgpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNvY2lhbC1saW5rIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBzdmdbZGF0YS11c2VdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxvY2FsLW9mZmljZXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcbiAgICAgICAgLnRvcC1mb290ZXJ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMzBweDtcbiAgICAgICAgICAgIC5ncmlkLWNvbnRhaW5lcntcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubG9nb3tcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzMwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDI0cHgsMzJweCk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnF1aWNrLWxpbmtzLFxuICAgICAgICAgICAgLmxvY2FsLW9mZmljZXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcbiAgICAgICAgLnRvcC1mb290ZXJ7XG4gICAgICAgICAgICAuZ3JpZC1jb250YWluZXJ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc29jaWFsLWxpbmt7XG4gICAgICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvcHlyaWdodC13cmFwe1xuICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxNXB4LDIzcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsImJvZHksXHJcbmh0bWwsXHJcbi53cmFwcGVye1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbi53cmFwcGVye1xyXG4gICAgLnN0aWNreS10by10b3B7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIGJvdHRvbTogNzBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgfVxyXG59XHJcbi5zZWMtdGhhbmt5b3UsXHJcbi5zZWMtNDA0e1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDY4cHgpO1xyXG4gICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgIC5ncmlkLWNvbnRhaW5lcixcclxuICAgIC5ncmlkLXh7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gICAgaDF7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg0MnB4LDQ4cHgpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWRhcms7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuICAgIHB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxOHB4LDI4cHgpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZGFyaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vICYgKyAuZm9vdGVye1xyXG4gICAgLy8gICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItbGlnaHQtZ3JleTtcclxuICAgIC8vIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0MzNweCk7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDIwMXB4KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNjM5cHgpe1xyXG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDI5MnB4KTtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLmhlcm8tYmFubmVye1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgICAudmlkZW8td3JhcCxcclxuICAgIC5pbWFnZS13cmFwe1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3ZpZGVvLWJnLmpwZycpIHRvcC9jb3ZlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDZweCk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtNnB4O1xyXG4gICAgICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDAsIDEwMCUgODAlLCAwIDEwMCUsIDAgMjAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Utd3JhcHtcclxuICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHZpZGVvLGltZ3tcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgMCwgMTAwJSA4MCUsIDAgMTAwJSwgMCAyMCUpO1xyXG4gICAgfVxyXG4gICAgLnRleHQtd3JhcHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwOTBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICBhLmJ1dHRvbntcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzBweCwzOHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMXtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDk2cHgsODFweCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgaDJ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzVweCw1M3B4KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogOTgwcHg7XHJcbiAgICB9XHJcbiAgICBwe1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjJweCwzMHB4KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYWJvdXQtaGVyby1iYW5uZXIsXHJcbiAgICAmLnNlcnZpY2UtaGVyby1iYW5uZXJ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXdyYXB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDFweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNlcnZpY2UtaGVyby1iYW5uZXJ7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgICAgICAgICAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgye1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTQzOXB4KXtcclxuICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk1MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDc1cHgsODBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyOHB4LDQ1cHgpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Utd3JhcHtcclxuICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogODAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEyNzlweCl7XHJcbiAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NTBweDtcclxuICAgICAgICAgICAgYS5idXR0b257XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyNnB4LDM0cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg1NnB4LDY1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMntcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjRweCw0MHB4KTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXdyYXB7XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWJvdXQtaGVyby1iYW5uZXJ7XHJcbiAgICAgICAgICAgIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxOHB4LDI2cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VydmljZS1oZXJvLWJhbm5lcntcclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgICAgIGEuYnV0dG9ue1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjBweCwyOHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoNDhweCw1NHB4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDIwcHgsMzJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52aWRlby13cmFwe1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Utd3JhcHtcclxuICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFib3V0LWhlcm8tYmFubmVyLFxyXG4gICAgICAgICYuc2VydmljZS1oZXJvLWJhbm5lcntcclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZS13cmFwe1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICAgICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDF7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg0MnB4LDUycHgpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMixwe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VydmljZS1oZXJvLWJhbm5lcntcclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDc2N3B4KXtcclxuICAgICAgICAudmlkZW8td3JhcCxcclxuICAgICAgICAuaW1hZ2Utd3JhcHtcclxuICAgICAgICAgICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50ZXh0LXdyYXAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg0MnB4LDUycHgpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICAgICAgLnRleHQtd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGEuYnV0dG9ue1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjFweCwyNXB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzZweCw0NnB4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE4cHgsMjZweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VydmljZS1oZXJvLWJhbm5lcntcclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIGgxe1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDQwcHgsNDVweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWMtYmFkZ2V7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTUwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICAgIC5iYWRnZS13cmFwe1xyXG4gICAgICAgIHBhZGRpbmc6IDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggMTRweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzNDVweDtcclxuICAgIH1cclxuICAgIGZpZ3VyZXtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgPiBpbWd7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsYWJlbCxmaWdjYXB0aW9ue1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDM0cHgsMzRweCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7XHJcbiAgICB9XHJcbiAgICAuc2VydmljZXMtZ3VhcmFudGVle1xyXG4gICAgICAgICYgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc4MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgbWF4LXdpZHRoOiA3ODBweDtcclxuICAgICAgICBtYXJnaW46IDgwcHggYXV0byAzMHB4O1xyXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW17XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE3NXB4O1xyXG4gICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDVweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxhYmVse1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnNlYy1iYWRnZS1pbm5lcntcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgLmJhZGdlLXdyYXB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgICAgICAgICAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgZmlndXJlID4gaW1ne1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmlnY2FwdGlvbntcclxuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlcnZpY2VzLWd1YXJhbnRlZXtcclxuICAgICAgICAgICAgZmlnY2FwdGlvbntcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDE0MzlweCl7XHJcbiAgICAgICAgLy8gJi5zZWMtYmFkZ2UtaW5uZXJ7XHJcbiAgICAgICAgLy8gICAgIC5iYWRnZS13cmFwe1xyXG4gICAgICAgIC8vICAgICAgICAgbWluLWhlaWdodDogMjg1cHg7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEzNjVweCl7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTgwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEyNzlweCl7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XHJcbiAgICAgICAgJi5zZWMtYmFkZ2UtaW5uZXJ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC5iYWRnZS13cmFwe1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjcwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAmLmdvb2dsZS1yZXZpZXd7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZ2NhcHRpb257XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDI0cHgsMzJweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZpZ3VyZSA+IGltZ3tcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaWdjYXB0aW9ue1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjZweCwzMnB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VydmljZXMtZ3VhcmFudGVle1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICBmaWdjYXB0aW9ue1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzJweCwzNnB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDMwcHg7XHJcbiAgICAgICAgLmdyaWQteHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhZGdlLXdyYXB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjYwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI5NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCxmaWdjYXB0aW9ue1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlYy1iYWRnZS1pbm5lcntcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgLmJhZGdlLXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcclxuICAgICAgICAgICAgICAgICYuZ29vZ2xlLXJldmlld3tcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaWd1cmUgPiBpbWd7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGZpZ2NhcHRpb257XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyNHB4LDMwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZXJ2aWNlcy1ndWFyYW50ZWUgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA3NjdweCl7XHJcbiAgICAgICAgJi5zZWMtYmFkZ2UtaW5uZXJ7XHJcbiAgICAgICAgICAgIC5iYWRnZS13cmFwe1xyXG4gICAgICAgICAgICAgICAgJi5nb29nbGUtcmV2aWV3e1xyXG4gICAgICAgICAgICAgICAgICAgIGZpZ2NhcHRpb257XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDIycHgsMzBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICAgICAgLmJhZGdlLXdyYXB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlYy1iYWRnZS1pbm5lcntcclxuICAgICAgICAgICAgLmJhZGdlLXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgICYuZ29vZ2xlLXJldmlld3tcclxuICAgICAgICAgICAgICAgICAgICBmaWdjYXB0aW9ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyNHB4LDMycHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2VydmljZXMtZ3VhcmFudGVle1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICAmID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgICAgICAgICAuc2VydmljZS1pdGVte1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDg1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA0MTNweCl7XHJcbiAgICAgICAgXHJcbiAgICAgICAgbGFiZWwsZmlnY2FwdGlvbntcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjhweCwyOHB4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhZGdlLXdyYXB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWMtdGV4dC1pbWFnZXtcclxuICAgIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xyXG4gICAgPiAuZ3JpZC1jb250YWluZXJ7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAudGV4dC13cmFwe1xyXG4gICAgICAgIG1heC13aWR0aDogNzU1cHg7XHJcbiAgICAgICAgJi53aWRle1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc5NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ncmlkLXh7XHJcbiAgICAgICAgJjpub3QoLmdyaWQtbWFyZ2luLXgpe1xyXG4gICAgICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdWx7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xyXG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XHJcbiAgICAgICAgbGl7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xyXG5cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTZweCwyNXB4KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kOnVybCgnLi4vaW1nL2ljbi1idWxsZXQuc3ZnJykgY2VudGVyIG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAxOXB4O1xyXG4gICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxOXB4O1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZzogNXB4IDI1cHggNXB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNjNGM0YzQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaW5nbGUtY29sdW1ue1xyXG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG91YmxlLWNvbHVtbntcclxuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTZweCwyNHB4KTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgbGFiZWx7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzRweCw0OXB4KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBhe1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi13cmFwe1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS13cmFwe1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wYXJhZ29uLXJlZC1zZWNvbmRhcnk7XHJcbiAgICAgICAgcGFkZGluZzogNDVweCAzNXB4IDIwcHg7XHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nZm9ybV9mb290ZXJ7XHJcbiAgICAgICAgICAgIGlucHV0LmJ1dHRvbntcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNDksIDI0OSwgMC4yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY291cG9uLWl0ZW0td3JhcHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICYubWluaS1jb3Vwb257XHJcbiAgICAgICAgICAgIC5vZmZlci13cmFwIHtcclxuICAgICAgICAgICAgICAgIC5vZmZlci1pdGVtLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mbGV4LWNvdXBvbi13cmFwe1xyXG4gICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgLmNvdXBvbi1pdGVtLXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQ4JTtcclxuICAgICAgICAgICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkLFxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMil7XHJcbiAgICAgICAgICAgICAgICAgICAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNjBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDExOTlweCl7XHJcbiAgICAgICAgICAgICAgICAgICAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAudGV4dC1ib3R0b20td3JhcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuYnV0dG9ue1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE4cHgsMjZweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCxcclxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLm9mZmVyLXdyYXAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLm9mZmVyLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLm9mZmVyLWl0ZW0td3JhcCAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGV4dC1ib3R0b20td3JhcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLmJ1dHRvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDIxcHgsMjlweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA3NjdweCl7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAvLyAmOmZpcnN0LWNoaWxkLFxyXG4gICAgICAgICAgICAgICAgICAgIC8vICY6bnRoLWNoaWxkKDIpe1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICAub2ZmZXItd3JhcCAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgICAgIC5vZmZlci13cmFwIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA0MTNweCl7XHJcbiAgICAgICAgICAgICAgICAgICAgLm9mZmVyLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGV4dC1ib3R0b20td3JhcHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLmJ1dHRvbntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWQtYm94LWJvcmRlcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICBwYWRkaW5nOiAxN3B4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2OTBweDtcclxuICAgICAgICAud2hpdGUtYm94LWJvcmRlcntcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNDtcclxuICAgICAgICAgICAgcGFkZGluZzogMzdweCAzMHB4IDM1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBoMntcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgzMHB4LDM4cHgpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNzBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYS5idXR0b257XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxOHB4LDI4cHgpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmctcGVyZmVjdC1hY3tcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pbWctYmctcGljay1wZXJmZWN0LWFjLmpwZycpIHRvcC9jb3ZlciBuby1yZXBlYXQ7XHJcbiAgICAgICAgcGFkZGluZzogMTkwcHggMDtcclxuICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgICAgICAgICBoMntcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICAgICAgICAgICAgICAmLmZ1bGwtd2lkdGh7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICBsYWJlbHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzBweCw0NXB4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5iZy1wZXJmZWN0LWFje1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pbWctYmctcGljay1wZXJmZWN0LWFjLXRhYmxldC5qcGcnKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTkwcHggMCAxMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzAlIHRvcDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0td3JhcHtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGgye1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMzBweDtcclxuICAgICAgICAuaW1hZ2Utd3JhcC1iZy1sb2dve1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjhweCw0MHB4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvdXBvbi1pdGVtLXdyYXB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ3JpZC14e1xyXG4gICAgICAgICAgICAmOm5vdCguZ3JpZC1tYXJnaW4teCl7XHJcbiAgICAgICAgICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIGJye1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwe1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGEuYnV0dG9ue1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAmLmRhcmt7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS13cmFwe1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYmctcGVyZmVjdC1hY3tcclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIGgye1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAmLmZ1bGwtd2lkdGh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVkLWJveC1ib3JkZXJ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAud2hpdGUtYm94LWJvcmRlcntcclxuICAgICAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEuYnV0dG9ue1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAuYnV0dG9uLXdyYXB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgY29sdW1uLWNvdW50OiAxO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAmLnNpbmdsZS1jb2x1bW57XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZG91YmxlLWNvbHVtbntcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXdyYXAtYmctbG9nb3tcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0td3JhcHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAuZ2Zvcm1fZm9vdGVye1xyXG4gICAgICAgICAgICAgICAgaW5wdXQuYnV0dG9ue1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE5MDQ4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYS5idXR0b24uZGFyayxcclxuICAgICAgICBhLmJ1dHRvbntcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MiU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWQtYm94LWJvcmRlciB7XHJcbiAgICAgICAgICAgIC53aGl0ZS1ib3gtYm9yZGVye1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjdweCAxNXB4IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDI0cHgsMzJweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5iZy1wZXJmZWN0LWFje1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzMCUgdG9wO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pbWctYmctcGljay1wZXJmZWN0LWFjLW1vYmlsZS5qcGcnKTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTcwcHggMTBweCA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNDEzcHgpe1xyXG4gICAgICAgIC5yZWQtYm94LWJvcmRlciB7XHJcbiAgICAgICAgICAgIC53aGl0ZS1ib3gtYm9yZGVye1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjdweCAxNXB4IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDIwcHgsMjhweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWx7XHJcbiAgICAgICAgICAgICYuZG91YmxlLWNvbHVtbntcclxuICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhLmJ1dHRvbi5kYXJrLFxyXG4gICAgICAgIGEuYnV0dG9ue1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk1JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5iZy1wZXJmZWN0LWFje1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNTBweCAxMHB4IDgwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMwJSAtMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmdvb2dsZS1yZXZpZXdze1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcclxuICAgIG1heC13aWR0aDogNjQwcHg7XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDc2N3B4KXtcclxuICAgICAgICBtYXgtd2lkdGg6IDU4MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VydmljZXMteW91LWNhbi1yZWx5e1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIHBhZGRpbmc6IDEwMHB4IDAgNjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6OmJlZm9yZXtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDUlLCAxMDAlIDAsIDEwMCUgOTUlLCAwIDEwMCUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmOjphZnRlcntcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDEwJSwgMTAwJSAxMDAlLCAwIDkwJSk7XHJcbiAgICB9XHJcbiAgICAuc2VydmljZS1pdGVtc3tcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7ICAgIFxyXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW17XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlLXdyYXB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlLXdyYXB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzMzMzMzMyAwJSwgcmdiYSg1MSwgNTEsIDUxLCAwKSAxMDAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgzNHB4LDQ5cHgpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMntcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG4gICAgaDN7XHJcbiAgICAgICAgY29sb3I6ICNCREJEQkQ7XHJcbiAgICB9XHJcbiAgICAudGV4dC13cmFwe1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgYS5idXR0b257XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMThweCwyOHB4KTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICBwYWRkaW5nOiA3MHB4IDAgMzBweDtcclxuICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW1ze1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAuc2VydmljZS1pdGVte1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NTBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHQtd3JhcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDk1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1vZmZlcntcclxuICAgIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xyXG4gICAgaDJ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxuICAgIC5vZmZlci13cmFwe1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAub2ZmZXItaXRlbS13cmFwe1xyXG4gICAgICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmdyaWQteHtcclxuICAgICAgICAuY2VsbHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDE0MzlweCl7XHJcbiAgICAgICAgLm9mZmVyLXdyYXAgIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMjQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhvbWV7XHJcbiAgICAgICAgICAgIC5vZmZlci13cmFwICAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICAmLmhvbWV7XHJcbiAgICAgICAgICAgIC5vZmZlci13cmFwICAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMzBweDtcclxuICAgICAgICAuY2VsbHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm9mZmVyLXdyYXAgIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLXNsaWRlci1sb2dve1xyXG4gICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgLnNsaWRlci13cmFwe1xyXG4gICAgICAgIG1heC13aWR0aDogMTkyMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIC5zbGlkZXItaXRlbXtcclxuICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlubmVyLXBhZ2V7XHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2xpZGVyLXdyYXB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNsaWRlci1sb2dve1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLnNsaWNrLXNsaWRle1xyXG4gICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMTk5cHgpe1xyXG4gICAgICAgICYuaW5uZXItcGFnZXtcclxuICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgICYuaW5uZXItcGFnZXtcclxuICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zbGlkZXItd3JhcHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24tbW9kZWwtZXhjZWxsZW5jZXtcclxuICAgIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvaW1nLWJnLW1vZGVsLWV4Y2VsbGVuY2UuanBnJykgY2VudGVyL2NvdmVyIG5vLXJlcGVhdDtcclxuICAgICYubm8tYmd7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIH1cclxuICAgIC5oZWFkZXItd3JhcHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxuICAgIH1cclxuICAgIC5ncmlkLXh7XHJcbiAgICAgICAgLmNlbGx7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kZWwtaXRlbXtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCAxNHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDQwcHggNTVweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLmltYWdlLXdyYXB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgaDR7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzRweCw0MHB4KTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDIycHgsMzBweCk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDJ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICAubW9kZWwtaXRlbXtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyNXB4IDI1cHg7ICAgICAgICBcclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIGg0e1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDMycHgsMzhweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDIwcHgsMjhweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmltYWdlLXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMCAzMHB4O1xyXG4gICAgICAgIC5tb2RlbC1pdGVte1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICBoNHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAubW9kZWwtaXRlbXtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjBweDsgICBcclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIGg0e1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDI4cHgsMzRweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE4cHgsMjZweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWMtcmVkLWJne1xyXG4gICAgcGFkZGluZzogMjE1cHggMTBweCAxNjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6OmJlZm9yZXtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDU1MnB4O1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1kYXJrO1xyXG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDM1JSwgMTAwJSAwLCAxMDAlIDY1JSwgMCAxMDAlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBtYXgtaGVpZ2h0OiA1NTJweDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDIwJSwgMTAwJSAxMDAlLCAwIDgwJSk7XHJcbiAgICB9XHJcbiAgICAmLmJnLWludmVydHtcclxuICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAzNSUsIDEwMCUgOTAlLCAwJSA2NSUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMjAlLCAxMDAlIDAlLCAxMDAlIDgwJSwgMCUgMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxlZnQtcGFuZWx7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDI1cHggMCAwO1xyXG4gICAgfVxyXG4gICAgLnJpZ2h0LXBhbmVse1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDBweDtcclxuICAgIH1cclxuICAgIGgye1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgIH1cclxuICAgIGgze1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDM0cHgsNDBweCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIH1cclxuICAgIHB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxNnB4LDI0cHgpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICB9XHJcbiAgICBsYWJlbHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDMwcHgsMzhweCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgdWx7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgbGl7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE2cHgsMjRweCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcclxuICAgICAgICAgICAgICAgIHRvcDogN3B4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTNweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTNweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi13cmFwe1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMjc5cHgpe1xyXG4gICAgICAgIHBhZGRpbmc6IDE3NXB4IDEwcHggMTIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgIHBhZGRpbmc6IDEyNXB4IDEwcHggMTE1cHg7XHJcbiAgICAgICAgLmxlZnQtcGFuZWwge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMTAlLCAxMDAlIDEwMCUsIDAgOTUlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDIwJSwgMTAwJSAwLCAxMDAlIDgwJSwgMCAxMDAlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5iZy1pbnZlcnR7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAyMCUsIDEwMCUgMTAwJSwgMCUgODAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDEwJSwgMTAwJSAwJSwgMTAwJSA5MCUsIDAlIDEwMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAubGVmdC1wYW5lbHtcclxuICAgICAgICBoMntcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDQxM3B4KXtcclxuICAgICAgICBwYWRkaW5nOiA4NXB4IDEwcHggNjVweDtcclxuICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMTUlLCAxMDAlIDAsIDEwMCUgODUlLCAwIDEwMCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDUlLCAxMDAlIDEwMCUsIDAgOTUlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5iZy1pbnZlcnR7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSAxMCUsIDEwMCUgMTAwJSwgMCUgOTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDUlLCAxMDAlIDAlLCAxMDAlIDk1JSwgMCUgMTAwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWMtY29udGFjdC1mb3JtLWZvb3RlcntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDE4MHB4IDAgNTBweDtcclxuICAgIHBpY3R1cmV7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ3JpZC1jb250YWluZXJ7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1wYW5lbHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgICYgKyBoM3tcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjA4cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYud2l0aHN1YntcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kZWwtZXhjZWwtd3JhcHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMC41ZW0gMC41ZW0gMWVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA1NjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogLTEwcHg7XHJcbiAgICAgICAgICAgIHRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAyMHB4KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICAgICAgPiBzdmd7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoM3tcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgzMnB4LDM5cHgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmluZm97XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjVweCwzMnB4KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Utd3JhcC1iZy1sb2dve1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtcG9zaXRpb24teDpsZWZ0O1xyXG4gICAgICAgIGltZ3tcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICBwaWN0dXJle1xyXG4gICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAgICAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xyXG4gICAgICAgIC5tb2RlbC1leGNlbC13cmFwe1xyXG4gICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB1bHtcclxuICAgICAgICAgICAgICAgIGxpe1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbmZve1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyMnB4LDMwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMntcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXdyYXAtYmctbG9nb3tcclxuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbi14OiAyNSU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA5OTFweCl7XHJcbiAgICAgICAgcGljdHVyZXtcclxuICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogZmlsbDtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDc5OXB4KXtcclxuICAgIC8vICAgICAuaW1hZ2Utd3JhcC1iZy1sb2dve1xyXG4gICAgLy8gICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDE1JTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDc2N3B4KXtcclxuICAgICAgICAubW9kZWwtZXhjZWwtd3JhcHtcclxuICAgICAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlLXdyYXAtYmctbG9nb3tcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNjM5cHgpe1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIC5tb2RlbC1leGNlbC13cmFwe1xyXG4gICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDI2cHgsMzRweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLXBhbmVsIHtcclxuICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgJi53aXRoc3Vie1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICArIGgze1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0td3JhcCAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE5MDQ4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA0NzlweCl7XHJcbiAgICAgICAgLmltYWdlLXdyYXAtYmctbG9nb3tcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDQxM3B4KXtcclxuICAgICAgICAubW9kZWwtZXhjZWwtd3JhcHtcclxuICAgICAgICAgICAgdWx7XHJcbiAgICAgICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgICAgICAgICAuaW5mb3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMThweCwyNnB4KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgID4gc3Zne1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZS13cmFwLWJnLWxvZ297XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBDb250YWN0IFVzIFRlbXBsYXRlIHBhZ2UgKi9cclxuLmNvbnRhY3QtdXMtd3JhcHtcclxuICAgIHBhZGRpbmc6IDEwMHB4IDAgNjBweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ltZy1iZy1tb2RlbC1leGNlbGxlbmNlLmpwZycpIGNlbnRlci9jb3ZlciBuby1yZXBlYXQ7XHJcbiAgICA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVye1xyXG4gICAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgIH1cclxuICAgIC5oZWFkZXItd3JhcHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xyXG4gICAgfVxyXG4gICAgLndwLWJsb2NrLWNvbHVtbntcclxuICAgICAgICAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2NhdGlvbi1iZy13cmFwe1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMjQ4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTUzLCAyNywgMjksIDAuOSk7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmxvY2F0aW9uLXdyYXB7XHJcbiAgICAgICAgICAgIHB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgxOHB4LDI2cHgpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB1bHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgbGl7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHN2Z3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDE4cHgsMjZweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybS13cmFwe1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBib3gtc2hhZG93OiAwLjVlbSAwLjVlbSAxZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgICAgICAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICAubG9jYXRpb24tYmctd3JhcHtcclxuICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTsvL2NhbGMoMTAwJSAtIDMwcHgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDMwcHg7XHJcbiAgICAgICAgLmZvcm0tbG9jLXdyYXB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb2NhdGlvbi1iZy13cmFwe1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNDEzcHgpe1xyXG4gICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWxvYy13cmFwe1xyXG4gICAgICAgICAgICAud3AtYmxvY2stY29sdW1ue1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvcm0td3JhcHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBQcml2YWN5IFRlbXBsYXRlIHBhZ2UgKi9cclxuXHJcbi5wcml2YWN5LWNvbnRhaW5lcntcclxuICAgIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xyXG4gICAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICBtYXgtd2lkdGg6IDE0NDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wcml2YWN5LXBvbGljeS13cmFwe1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBib3gtc2hhZG93OiAwLjVlbSAwLjVlbSAxZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgICAgICAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYXtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgNjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNjM5cHgpe1xyXG4gICAgICAgIGgxLGgye1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBSZXZpZXcgVGVtcGxhdGUgcGFnZSAqL1xyXG4ucmV2aWV3LWNvbnRhaW5lcntcclxuICAgIHBhZGRpbmc6IDgwcHggMCA2MHB4O1xyXG4gICAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICBtYXgtd2lkdGg6IDE0NDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXdyYXB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLnJldmlldy13cmFwe1xyXG4gICAgICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAuNWVtIDAuNWVtIDFlbSByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmV5O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgNjBweDtcclxuICAgICAgICAucmV2aWV3LXdyYXB7XHJcbiAgICAgICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZGVmYXVsdC1jb250YWluZXJ7XHJcbiAgICBwYWRkaW5nOiA4MHB4IDAgNjBweDtcclxuICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNDQwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAzMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIENvdXBvbiBUZW1wbGF0ZSBwYWdlICovXHJcbi5jb3Vwb24td3JhcHtcclxuICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7ICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC5vZmZlci13cmFwe1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDMyLjMzJTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzMlO1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDNuKXtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTQzOXB4KXtcclxuICAgICAgICAub2ZmZXItd3JhcCB7XHJcbiAgICAgICAgICAgIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQsXHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcclxuICAgICAgICAgICAgICAgIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVye1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm9mZmVyLXdyYXB7XHJcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQ5JTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAub2ZmZXItaXRlbS13cmFwIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyODBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQsXHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKXtcclxuICAgICAgICAgICAgICAgIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyODBweDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKXtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDYwcHg7XHJcbiAgICAgICAgLm9mZmVyLXdyYXB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIC5vZmZlci1pdGVtLXdyYXAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA3NjdweCl7XHJcbiAgICAgICAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5vZmZlci13cmFwe1xyXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpLFxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbil7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIEFib3V0IFRlbXBsYXRlIHBhZ2UgKi9cclxuLnNlYy1hYm91dC1vd25lcntcclxuICAgIC8vIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ltZy1iZy1vd25lci5qcGcnKSBuby1yZXBlYXQ7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgLy8gYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjEwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmaWd1cmUuYmctd3JhcHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtMTIwcHg7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZS13cmFwLWJnLWxvZ297XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDgwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLyogQUMtSGVhdGluZyBUZW1wbGF0ZSBwYWdlICovXHJcbi5zZWN0aW9uLWJhc2V7XHJcbiAgICA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVye1xyXG4gICAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuICAgIH1cclxufVxyXG4uc2VjLWxpbmstd3JhcHtcclxuICAgIG1hcmdpbi10b3A6IC0yMDBweDtcclxuICAgIFxyXG4gICAgLmxpbmstaXRlbXtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeS1ob3ZlcjtcclxuICAgICAgICBwYWRkaW5nOiAzNHB4IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgICAgICA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVye1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1zZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC53cC1ibG9jay1pbWFnZXtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogNDVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaWd1cmV7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgID4gYXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcclxuICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZmlnY2FwdGlvbntcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgYXtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDI4cHgsMzZweCk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaG93LXdlLWhlbHB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTI2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTM5MHB4KXtcclxuICAgICAgICAubGluay1pdGVte1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAud3AtYmxvY2staW1hZ2V7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgICAgICBmaWd1cmV7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMjc5cHgpe1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMjBweDtcclxuICAgICAgICAubGluay1pdGVte1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XHJcbiAgICAgICAgICAgIGZpZ2NhcHRpb257XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gbWluLWhlaWdodDogNjVweDtcclxuICAgICAgICAgICAgICAgIGF7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjRweCwzMnB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAud3AtYmxvY2staW1hZ2V7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaG93LXdlLWhlbHB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEwMjNweCl7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBcclxuICAgICAgICAubGluay1pdGVte1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxNXB4O1xyXG4gICAgICAgICAgICAud3AtYmxvY2staW1hZ2V7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgZmlndXJlID4gYXtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA5NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaWdjYXB0aW9ue1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhvdy13ZS1oZWxwe1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNzY3cHgpe1xyXG4gICAgICAgIC5saW5rLWl0ZW17XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIGZpZ2NhcHRpb24gYXtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDIycHgsMjhweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcclxuICAgICAgICAubGluay1pdGVte1xyXG4gICAgICAgICAgICBmaWdjYXB0aW9ue1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlYy1tb2RlbC1leGNlbC1pY29uc3tcclxuICAgIGgye1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIGgze1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTUwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIzMHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDEwJSwgMTAwJSAwLCAxMDAlIDkwJSwgMCA5MCUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmOjphZnRlcntcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtNTBweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjQwcHg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMzAlLCAxMDAlIDEwMCUsIDAgMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgze1xyXG4gICAgICAgICAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgID4gLndwLWJsb2NrLWNvbHVtbnN7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5leGNlbC1pY29uLWdyaWR7XHJcbiAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgLndwLWJsb2NrLWltYWdle1xyXG4gICAgICAgICAgICAgICAgZmlndXJle1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDgycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5oMy13cmFwe1xyXG4gICAgICAgICAgICAgICAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGgze1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgze1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzRweCw0MHB4KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwe1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEzOTRweCl7XHJcbiAgICAgICAgLmV4Y2VsLWljb24tZ3JpZHtcclxuICAgICAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgICAgIC5oMy13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTI3OXB4KXtcclxuICAgICAgICAuZXhjZWwtaWNvbi1ncmlke1xyXG4gICAgICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTAyM3B4KXtcclxuICAgICAgICAuZXhjZWwtaWNvbi1ncmlke1xyXG4gICAgICAgICAgICAudGV4dC13cmFwe1xyXG4gICAgICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNzY3cHgpe1xyXG4gICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAxNSUsIDEwMCUgMTAwJSwgMCAxMDAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMntcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgze1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmV4Y2VsLWljb24tZ3JpZCB7XHJcbiAgICAgICAgICAgIC50ZXh0LXdyYXAge1xyXG4gICAgICAgICAgICAgICAgLmgzLXdyYXB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lcntcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNzJweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoM3tcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjhweCwzNnB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNjM5cHgpe1xyXG4gICAgICAgIC5leGNlbC1pY29uLWdyaWQge1xyXG4gICAgICAgICAgICAudGV4dC13cmFwIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIC5oMy13cmFwe1xyXG4gICAgICAgICAgICAgICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gaDN7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjJweCwzMHB4KTtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNDEzcHgpe1xyXG4gICAgICAgIFxyXG4gICAgICAgID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgICY6OmFmdGVye1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWMtaGVhZGVyLXRleHQtY3Rhe1xyXG4gICAgaDJ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcclxuICAgIH1cclxuICAgIHB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgzMHB4LDM4cHgpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICBicntcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjRweCwzMnB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcclxuICAgICAgICBwe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyMHB4LDI4cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogQUMtSGVhdGluZyBJbm5lciBwYWdlcyovXHJcbi5zZWMtaGVyby1iYW5uZXItaW5uZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIFxyXG4gICAgLmJhbm5lci13cmFwIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLm1lZGlhIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IC04JTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNXB4KTtcclxuICAgICAgICB3aWR0aDogNTYlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB2aWRlb3tcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMTMwcHggMCAxMDBweCBjYWxjKCgxMDB2dyAtIDE0MTBweCkgLyAyKTtcclxuICAgICAgICB3aWR0aDogNTguMzMlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTEwcHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTI1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wYXJhZ29uLXJlZDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMThkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3BcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBoMSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMTA2cHgsOTFweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMzVweCw1M3B4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDk1JTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTUwMHB4KXtcclxuICAgICAgICAuY2FwdGlvbntcclxuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMzBweCA2MHB4IDYwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZWRpYXtcclxuICAgICAgICAgICAgd2lkdGg6IDY3JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDEyNzlweCl7XHJcbiAgICAgICAgaDF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDgwcHgsNzBweCk7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTYwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgzMHB4LDQ1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWVkaWF7XHJcbiAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgMTE5OXB4KXtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIC5tZWRpYXtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xMiU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYXB0aW9ue1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDBweCAzMHB4IDMwcHg7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiA1NiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgIC5iYW5uZXItd3JhcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWVkaWF7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcHRpb257XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzogNjBweCAzMHB4O1xyXG4gICAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg3MnB4LDYxcHgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJye1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMntcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjhweCwzNnB4KTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNzY3cHgpe1xyXG4gICAgICAgIGgxe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg2NHB4LDUxcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMntcclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWxpbmVoZWlnaHQoMjRweCwzMnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCA2MzlweCl7XHJcbiAgICAgICAgaDF7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1saW5laGVpZ2h0KDUycHgsNDJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCgyMHB4LDI4cHgpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYXB0aW9ue1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKG1heC13aWR0aCwgNDEzcHgpe1xyXG4gICAgICAgIGgxe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGluZWhlaWdodCg0NnB4LDM2cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2VjLXBhcmFnb24tcXVlZW57XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiA4MHB4IDAgNjBweDtcclxuICAgIGZpZ3VyZS53cC1ibG9jay1pbWFnZXtcclxuICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50ZXh0LXdyYXB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXgtd2lkdGg6IDg2MHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVye1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgye1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoM3tcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEobWF4LXdpZHRoLCAxMDIzcHgpe1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCAzMHB4O1xyXG4gICAgICAgIGZpZ3VyZS53cC1ibG9jay1pbWFnZXtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHQtd3JhcHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgaDJ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDN7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDYzOXB4KXtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogRHVjdCBDbGVhbmluZyAqL1xyXG4uc2xpZGVyLWJlZm9yZS1hZnRlciB7XHJcbiAgICAmID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgLnNsaWNrLWxpc3R7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgMzBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDk0JTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIC5zbGljay1zbGlkZXtcclxuICAgICAgICAgICAgICAgIGltZ3tcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2xpY2stYXJyb3d7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA0NSU7XHJcbiAgICAgICAgICAgICYuc2xpY2stcHJldntcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zbGljay1uZXh0e1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYShtYXgtd2lkdGgsIDQ3OXB4KXtcclxuICAgICAgICAmID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXJ7XHJcbiAgICAgICAgICAgIC5zbGljay1hcnJvd3tcclxuICAgICAgICAgICAgICAgICYuc2xpY2stcHJldntcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc2xpY2stbmV4dHtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0= */